Deployment Manifest File Format

The deployment manifest file defines the desired state of a Blueprint in Bluebricks. Each deployment is represented as a declarative YAML file, which can be integrated into CI/CD processes to enable Git-based workflows and trigger infrastructure changes.

Learn more about using the deployment declarative file in Managing Configuration on Git.

Examples

The following manifest file demonstrates how to declare a deployment of an RDS instance to an AWS environment using Bluebricks:

---
apiVersion: bricks/v1 
kind: Deployment
metadata:
  name: aws-rds-postgres-bluebricks-staging
spec:
  blueprint: "aws_rds_postgres"
  version: "1.8.0"
  force: false
  planOnly: false
  environment: "bluebricks-staging"
  props:
    terraform_aws_rds_postgres_family: postgres16
    terraform_aws_rds_postgres_identifier: stage-db
    terraform_aws_rds_postgres_engine_version: "16.4"
    terraform_aws_rds_postgres_instance_class: db.t4g.micro
    terraform_aws_rds_postgres_allocated_storage: 20
    terraform_aws_rds_postgres_major_engine_version: "16"
    terraform_aws_rds_postgres_max_allocated_storage: 100
    terraform_aws_rds_postgres_db_name: bluebricks
    terraform_aws_rds_postgres_vpc_private_subnets_ids:
      - "subnet-066c7.....3b6"
      - "subnet-00484.....9d6"
      - "subnet-0321e.....357"
    terraform_aws_rds_postgres_create_db_subnet_group: true
    terraform_aws_rds_postgres_db_subnet_group_name: staging
    terraform_aws_rds_postgres_vpc_security_group_ids:
      - "sg-0e262....536"

Reference

Keys
Description
Mandatory

apiVersion

Constant value, should always be bricks/v1

kind

Constant value, should always be Deployment

metadata

Metadata object, contain non-spec values

metadata.name

The deployment name, aka "the slug"

spec

Spec object

spec.blueprint

The name of the blueprint to deploy

spec.version

The blueprint version to deploy

spec.force

Indicate if Orchestrator should skip the "pending for review" step. Default: false

spec.planOnly

Indicate if the deployment life-cycle ended after the plan step is done. Default: false

spec.environment

The targeted environment of the deployment. If not provided, targeting the default environment

spec.props

Properties of the deployment. Equivalent to props.json file when executing bricks install

spec.props.{{name}}

Property name and value

Last updated

Was this helpful?