Blueprints Overview
Definitionβ
Blueprints are the foundation for most Vessels. They contain the design specifications needed to start building solutions for your organization. As such, they live at the organization level and can be used in any Project. They can either be built by Shipyard staff (as part of the Blueprint Library) or by users in your organization (as an Org Blueprint).
Blueprints provide a way for technical users to create a reusable piece of code with organization-specific logic. When using a Blueprint, users are only required to provide key inputs needed for the Vessel to work correctly. All code, package dependencies, and environment variables are abstracted away from the end user.
All Blueprints are built using Code. You must select a supported language and provide the necessary code, arguments, environment variables, and packages necessary to make the Blueprint usable. Additionally, you can create Blueprint Variables that users fill out on the Inputs panel when they are setting up a new Vessel.
When a Vessel is built with a Blueprint, it is considered to be a Dependent Vessel for that Blueprint because it depends on the underlying structure and code. All dependent Vessels for a Blueprint, across all projects, can be viewed on the Dependent Vessels tab, giving a high level of visibility into status and usage of reusable solutions.
As a Blueprint author or editor, you are in charge of writing the code that runs for the users of your Blueprint. You can update and manage the underlying code, making updates in bulk that will affect hundreds of dependent Vessels.
Componentsβ
Creating a Blueprintβ
When creating a Blueprint, you must always provide the following elements:
- Blueprint Name
- Blueprint Synopsis
- Code
You may also optionally provide these elements:
- Blueprint Variables
- Blueprint Description
- External Code Package Dependencies
- External System Package Dependencies
- Environment Variables
- Guardrails
- Blueprint Image URL
Building a Vesselβ
When creating a Vessel with a Blueprint, you must always provide the following elements:
- Inputs (if any are required)
- Vessel Name
You may also optionally provide these elements:
Additional Notesβ
- Code for a Blueprint must have an adequate level of error handling and validation because it relies on user input.