Blueprints
Define related Openstead services in a YAML file and manage them as one project.
A Blueprint describes services in YAML. Openstead can create their project and Production environment from that file, or synchronize configuration from a connected GitHub repository.
Use Blueprints for a monorepo, an application with workers and databases, or a repeatable service layout. Openstead still manages the infrastructure and applies the same permissions, quotas, and payment requirements as individual services.
Create your first Blueprint
Add openstead.yaml to your repository:
services:
- name: website
type: static
plan: free
runtime: node
buildCommand: npm ci && npm run build
staticPublishPath: distThis example expects a Node-based static site whose build writes dist. Adjust the command and output directory to your application.
- Open Blueprints → New blueprint in the dashboard.
- Give the Blueprint a name and select its repository, branch, and YAML file path.
- Grant the Openstead GitHub App access to the repository.
- Choose repository synchronization or paste YAML for manual creation.
- Validate the configuration and create or synchronize the project.
Each service can declare its own repo and branch. Otherwise repository-backed services inherit the Blueprint repository and, when using that repository, its selected branch.
Configuration and deployment
Creating or synchronizing a Blueprint creates and updates configuration. Deployment is a separate choice.
For manual YAML, Create project from blueprint creates the project once. Select Queue deployments after creating the services to request initial releases. After creation, Deploy project deploys the current service settings. Saving manually edited YAML alone does not update existing services.
For a repository Blueprint, enable Deploy new or changed services after syncing if you want synchronization to queue releases. First create configuration with this option disabled when a paid service needs checkout or application secrets need to be configured.
Add secrets separately
Configure service variables and environment groups through the dashboard. Inline envVars values are rejected. Openstead does not substitute Render-style secret references or generate secrets from Blueprint YAML.
For a database-backed application, deploy the database, obtain its private connection details, configure the application's variables, and then deploy the application. A Blueprint does not automatically wire database credentials into another service.
Update and remove services
Names identify service entries. A renamed entry creates a new service and retains the previous service. Removing an entry from YAML does not delete, suspend, or archive the existing service; Openstead reports it as retained so you can decide what to do with it.
An existing service's type cannot change in place. Manually moving, renaming, archiving, or deleting a bound service can cause a synchronization conflict that must be resolved explicitly.
Next steps
- Repository sync: how pushes update configuration.
- YAML reference: supported fields and limits.
- Examples: monorepos, Laravel and MySQL, workers, and Docker images.