Blueprint Designer
A Blueprint is the single source of truth for your infrastructure. It defines every resource your application needs, how those resources connect, and how they are customized per environment — all stored in Git and deployed through Facets.
What Is a Blueprint?
A Blueprint is a declarative, Git-backed infrastructure definition that describes the complete desired state of your application stack — databases, caches, services, ingress controllers, queues, and more. Instead of managing Terraform files directly, you define and organize resources inside a Blueprint through the Facets UI or via your Git repository. Facets generates and applies the Terraform automatically.
A single Blueprint can power many environments (development, staging, production). Each environment deploys the same Blueprint but can apply its own configuration overrides without forking the Blueprint itself.
Blueprint Structure
A Blueprint lives in a Git repository at a configured path. Its layout follows this convention
relative-path
├── stack.json # Blueprint metadata, variables, and settings
├── deployment/instances/
│ ├── api-service.json # Resource definition
│ └── worker.json
|── postgres/instances/
│ └── main-db.json
└── redis/instances/
└── session-cache.json
Each resource file contains three logical sections:
Spec: Desired configuration (instance size, replicas, connection settings, port mappings) Info: Metadata (module version, flavor, enabled/disabled state, artifact CI reference) Edges: Declared dependencies to other resources; Facets uses these to determine deployment ordering and to populate the Designer graph
Key Capabilities
Design Your Infrastructure Visually
The Blueprint Designer renders your entire infrastructure topology as an interactive graph. Resources are nodes; dependencies are edges. You can drag, drop, and rearrange resources, then commit changes back to Git — all without leaving the browser. A Table View provides a spreadsheet-style alternative for teams that prefer scanning lists over graphs.
Reuse with Templates
Save any Blueprint as a Template and share it org-wide. Other teams clone the Template as a starting point. When the Template evolves, downstream Blueprints can pull in the latest changes with a single Sync action — no manual copy-paste required.
Git as the Source of Truth
Every Blueprint in Facets is backed by a Git repository (when the project is created). This means:
Every change made in the Blueprint Designer produces a Git commit. Your infrastructure definition is version-controlled, auditable, and reviewable like application code. You can use your existing Git workflows — branching, pull requests, code reviews — to govern infrastructure changes. The repository, branch, and path are configured when a Blueprint is created and can be viewed in Project Settings.
Branch Workflow - Summary
| Action | Where It Happens |
|---|---|
| Create a branch | Blueprint Designer → Branch selector → Add Branch |
| Switch to a branch | Blueprint Designer → Branch selector → select → Apply |
| Add/edit resources on a branch | Blueprint Designer (while on the feature branch) |
| View existing pull requests | Blueprint Designer → Git menu → Pull Request |
| Create a pull request | Git menu → Create Pull Request → completes on GitHub/GitLab/Bitbucket |
| Merge PR to master | On your Git provider (GitHub/GitLab/Bitbucket) |
| Blueprint reflects merged changes | Automatically, via webhook-triggered sync |
| Manually force a sync | Git menu → Sync with Git |
Updated 10 days ago