Building Blocks
Gain a basic understanding of Bluebricks components so you can set up your account and navigate efficiently.

Packages
Bluebricks packages are an abstraction layer that make infrastructure code reusable, composable, and easier to manage. Instead of dealing directly with raw IaC sprawl, you can wrap any infrastructure defining code into packages that expose clear inputs, outputs, and behavior. These standardize infrastructure deployment across your organization to simplify collaboration and governance across environments.
There are two types of packages in Bluebricks:
Artifact – The foundational building blocks of Bluebricks and the direct abstraction layer of your Infrastructure as Code (IaC). Each artifact describes a single component’s code, inputs, outputs, and metadata. They are not directly deployable, but are composed into Blueprints.
Blueprint – A deployable unit that wraps one or more artifacts and defines the relationships between them through their inputs and outputs. The blueprint wires different packages together, sets defaults, and exposes only the expected inputs the deployer needs to provide.
For example, a VPC artifact and a subnet artifact can be composed into a network blueprint. The blueprint defines how the subnet attaches to the VPC and hides low-level configuration details.
Environments
A Bluebricks environment is a logical unit for provisioning and managing cloud infrastructure. Each environment can be associated with a specific cloud provider account or an on-premise setup, with member access rules defined through RBAC to maintain clear permissions.
You can define properties and secrets to each environment, which are automatically inherited by any package deployed to them. That way, packages stay reusable while adapting to the context of their target environment.
Deployments
A deployment is the workflow that executes a blueprint to a targeted environment. It encapsulates the set of infrastructure changes defined by the blueprint and can be triggered repeatedly to plan, apply, or destroy resources.
Each execution of a deployment creates a run, which generates its own unified plan of changes across the blueprint and its child packages. This provides consistency, traceability, and control over how every infrastructure layer evolves over time.
Last updated
Was this helpful?

