Type object
File match bricks.json bricks.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/bluebricks-blueprint-config/latest.json
Source https://api.bluebricks.co/docs/schemas/latest/bricks.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

JSON Schema for Bluebricks bricks.yaml blueprint configuration files

Properties

name string required

Unique name for this blueprint

minLength=1maxLength=256pattern=^(@((?!.*\*\*)[a-z0-9-*][a-z0-9-._]*\*?)\/)?((?!.*\*\*)[a-z0-9-*][a-z0-9-._]*\*?)$
version string required

Semantic version following semver 2.0.0 (major.minor.patch[-prerelease][+build])

Examples: "1.0.0", "2.1.3", "1.0.0-alpha", "1.0.0-rc.1", "1.0.0+build.123", "2.1.3-rc.2+20260113.git.abc1234"
pattern=^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
description string

Brief description of what this blueprint deploys

source string

Remote source reference: Git URL (git::https://...), HTTPS URL, or other supported protocol. Supports optional path (//path) and ref (?ref=tag). Requires 'native' configuration for IaC tool settings.

Examples: "git::https://github.com/org/repo.git", "git::https://github.com/org/repo.git?ref=v1.0.0"
tags string[]

Tags for organizing and filtering blueprints

native object
11 nested properties
type string required

IaC tool type to use for this blueprint or package

Values: "terraform" "opentofu" "helm" "cloudformation" "bicep" "generic"
path string

Path to IaC source files relative to blueprint root

chart string

Remote Helm chart reference (OCI or HTTP URL)

version string

Chart version when using remote Helm charts

state_path string

Custom state file path for Terraform/OpenTofu

mode string

Execution mode for the IaC tool

image string

Container image for generic executor type

command string[]

Command to run for generic executor type

args string[]

Arguments passed to the command

env_vars Record<string, string>

Environment variables for execution

lifecycle object
3 nested properties
plan object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

apply object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

destroy object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

inputs Record<string, object>

Input parameters that can be passed when deploying. Each input must be an object, not null. Use {} for unconstrained inputs.

Examples: {"bucket_name":{"default":"my-default-bucket","description":"Name of the S3 bucket","type":"string"},"enable_logging":{"default":true,"type":"bool"},"instance_count":{"description":"Number of EC2 instances","type":"number"},"unconstrained_param":{}}
packages SlimPackage[]

List of packages to deploy. MUTUALLY EXCLUSIVE with 'native'

outputs Record<string, object>

Values to expose after deployment completes

One of

1. Blueprint

Blueprint that composes other blueprints and artifacts

2. Remote Artifact

Source-based artifact

3. Bluebricks registered Artifact

Artifact from Bluebricks registry

Definitions

Lifecycle object
plan object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

apply object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

destroy object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

LifecyclePhase object
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

Native object
type string required

IaC tool type to use for this blueprint or package

Values: "terraform" "opentofu" "helm" "cloudformation" "bicep" "generic"
path string

Path to IaC source files relative to blueprint root

chart string

Remote Helm chart reference (OCI or HTTP URL)

version string

Chart version when using remote Helm charts

state_path string

Custom state file path for Terraform/OpenTofu

mode string

Execution mode for the IaC tool

image string

Container image for generic executor type

command string[]

Command to run for generic executor type

args string[]

Arguments passed to the command

env_vars Record<string, string>

Environment variables for execution

lifecycle object
3 nested properties
plan object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

apply object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

destroy object
5 nested properties
image string

Override container image for this phase

command string[]

Override command for this phase

args string[]

Override arguments for this phase

env_vars Record<string, string>

Additional environment variables for this phase

skip boolean

Skip this lifecycle phase

SemanticVersion string

Semantic version following semver 2.0.0 (major.minor.patch[-prerelease][+build])

Examples:
  • "1.0.0"
  • "2.1.3"
  • "1.0.0-alpha"
  • "1.0.0-rc.1"
  • "1.0.0+build.123"
  • "2.1.3-rc.2+20260113.git.abc1234"
SlimInput object

Input parameter definition. Must be an object (not null or empty). Use {} for unconstrained input, or specify properties: type, description, default, allowed_values

Examples:
  • { "default": "my-bucket", "description": "Name of the S3 bucket", "type": "string" }
  • { "description": "Number of instances to create", "type": "number" }
  • { "default": true, "description": "Enable monitoring", "type": "bool" }
  • { "allowed_values": [ "10.0.0.0/16", "172.16.0.0/12" ], "description": "List of allowed CIDR blocks", "type": "list" }
  • {}
default

Default value if not provided at deployment time

type string

Data type for validation

Values: "string" "number" "bool" "list" "map" "any"
description string

Explanation of what this input configures

allowed_values array

Restrict input to specific values

SlimOutput object
value required

Output value using data.{package}.{output} reference syntax

description string

Explanation of what this output represents

SlimPackage object
name string required

Package name from registry or logical identifier

minLength=1pattern=^(@((?!.*\*\*)[a-z0-9-*][a-z0-9-._]*\*?)\/)?((?!.*\*\*)[a-z0-9-*][a-z0-9-._]*\*?)$
id string

Local alias for referencing this package in data.{id}.{output} expressions

pattern=^[a-zA-Z_][a-zA-Z0-9_]*$
version string

Semantic version following semver 2.0.0 (major.minor.patch[-prerelease][+build])

Examples: "1.0.0", "2.1.3", "1.0.0-alpha", "1.0.0-rc.1", "1.0.0+build.123", "2.1.3-rc.2+20260113.git.abc1234"
pattern=^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
description string

Brief description of this package

source string

Remote source reference: Git URL (git::https://...), HTTPS URL, or other supported protocol. Supports optional path (//path) and ref (?ref=tag). Requires 'native' configuration for IaC tool settings.

Examples: "git::https://github.com/org/repo.git", "git::https://github.com/org/repo.git?ref=v1.0.0"
native object
11 nested properties
type string required

IaC tool type to use for this blueprint or package

Values: "terraform" "opentofu" "helm" "cloudformation" "bicep" "generic"
path string

Path to IaC source files relative to blueprint root

chart string

Remote Helm chart reference (OCI or HTTP URL)

version string

Chart version when using remote Helm charts

state_path string

Custom state file path for Terraform/OpenTofu

mode string

Execution mode for the IaC tool

image string

Container image for generic executor type

command string[]

Command to run for generic executor type

args string[]

Arguments passed to the command

env_vars Record<string, string>

Environment variables for execution

lifecycle object
3 nested properties
plan object
apply object
destroy object
props object

Property values passed to the package. Use inputs.{name} for blueprint inputs or data.{pkg}.{output} for cross-references

inputs object

Alias for props. Property values passed to the package

Source string

Remote source reference: Git URL (git::https://...), HTTPS URL, or other supported protocol. Supports optional path (//path) and ref (?ref=tag). Requires 'native' configuration for IaC tool settings.

Examples:
  • "git::https://github.com/org/repo.git"
  • "git::https://github.com/org/repo.git?ref=v1.0.0"