openstead
Blueprints

Blueprints

Define related Openstead services in a YAML file and manage them as one project.

Suggest a change

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: dist

This example expects a Node-based static site whose build writes dist. Adjust the command and output directory to your application.

  1. Open Blueprints → New blueprint in the dashboard.
  2. Give the Blueprint a name and select its repository, branch, and YAML file path.
  3. Grant the Openstead GitHub App access to the repository.
  4. Choose repository synchronization or paste YAML for manual creation.
  5. 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

Need a hand? Contact Openstead support.

On this page