# Environment Manifest File Format

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.

{% hint style="info" %}
Learn more about using the environment declarative file in [Managing Configuration on Git](/docs/orchestration/bluebricks-git-repository-guide/managing-configuration-on-git.md).
{% endhint %}

### 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

<table><thead><tr><th width="250">Keys</th><th width="418">Description</th><th width="108" data-type="checkbox">Mandatory</th></tr></thead><tbody><tr><td><code>apiVersion</code></td><td>Constant value, should always be <code>bricks/v1</code></td><td>true</td></tr><tr><td><code>kind</code></td><td>Constant value, should always be <code>Deployment</code></td><td>true</td></tr><tr><td><code>metadata</code></td><td>Metadata object, contain non-spec values</td><td>true</td></tr><tr><td><code>metadata.name</code></td><td>The environment name, aka "the slug"</td><td>true</td></tr><tr><td><code>spec</code></td><td>Spec object</td><td>true</td></tr><tr><td><code>spec.blueprint</code></td><td>The name of the blueprint to deploy</td><td>true</td></tr><tr><td><code>spec.version</code></td><td>The blueprint version to deploy</td><td>true</td></tr><tr><td><code>spec.force</code></td><td>Indicate if Orchestrator should skip the "pending for review" step. Default: <code>false</code></td><td>false</td></tr><tr><td><code>spec.planOnly</code></td><td>Indicate if the environment life-cycle ended after the plan step is done. Default: <code>false</code></td><td>false</td></tr><tr><td><code>spec.collection</code></td><td>The targeted collection of the environment. If not provided, targeting the default collection</td><td>false</td></tr><tr><td><code>spec.props</code></td><td>Properties of the environment. Equivalent to <code>props.json</code> file when executing <code>bricks install</code></td><td>true</td></tr><tr><td><code>spec.props.{{name}}</code></td><td>Property name and value</td><td>false</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bluebricks.co/docs/orchestration/runs/deployment-manifest-file-format.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
