Blueprint Composition Patterns
Common patterns for composing blueprints, managing package dependencies, and structuring outputs effectively.
Overview
Composition patterns
Layered architecture
{
"packages": [
{
"name": "@bluebricks/terraform_aws_vpc",
"id": "infrastructure_vpc"
},
{
"name": "@bluebricks/terraform_aws_subnet",
"id": "infrastructure_subnet",
"props": {
"vpc_id": {
"value": "Data.infrastructure_vpc.vpc_id"
}
}
},
{
"name": "@bluebricks/helm_nginx",
"id": "platform_nginx",
"props": {
"cluster_name": {
"value": "Data.infrastructure_subnet.cluster_name"
}
}
},
{
"name": "@bluebricks/helm_myapp",
"id": "application_myapp",
"props": {
"nginx_endpoint": {
"value": "Data.platform_nginx.endpoint"
}
}
}
]
}Hub and spoke
Microservices composition
Environment-specific composition
Dependency management patterns
Explicit dependencies with version pinning
Conditional dependencies
Output management patterns
Aggregated outputs
Conditional outputs
Structured outputs
Best practices
Anti-patterns to avoid
Circular dependencies
Deep dependency chains
Unclear output references
See also
Last updated
Was this helpful?

