Environment Manifest File Format

Declarative YAML format for defining environment state, used in CI/CD pipelines and Git-based infrastructure workflows.

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

circle-info

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

Examples

The following manifest file demonstrates how to declare an environment of an RDS instance to an AWS collection 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
  collection: "bluebricks-staging"
  props:
    rds_postgres_family: postgres16
    rds_postgres_identifier: stage-db
    rds_postgres_engine_version: "16.4"
    rds_postgres_instance_class: db.t4g.micro
    rds_postgres_allocated_storage: 20
    rds_postgres_major_engine_version: "16"
    rds_postgres_max_allocated_storage: 100
    rds_postgres_db_name: bluebricks
    rds_postgres_vpc_private_subnets_ids:
      - "subnet-066c7.....3b6"
      - "subnet-00484.....9d6"
      - "subnet-0321e.....357"
    rds_postgres_create_db_subnet_group: true
    rds_postgres_db_subnet_group_name: staging
    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 environment 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 environment life-cycle ended after the plan step is done. Default: false

spec.collection

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

spec.props

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

spec.props.{{name}}

Property name and value

Last updated

Was this helpful?