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

ActionWhere It Happens
Create a branchBlueprint Designer → Branch selector → Add Branch
Switch to a branchBlueprint Designer → Branch selector → select → Apply
Add/edit resources on a branchBlueprint Designer (while on the feature branch)
View existing pull requestsBlueprint Designer → Git menu → Pull Request
Create a pull requestGit menu → Create Pull Request → completes on GitHub/GitLab/Bitbucket
Merge PR to masterOn your Git provider (GitHub/GitLab/Bitbucket)
Blueprint reflects merged changesAutomatically, via webhook-triggered sync
Manually force a syncGit menu → Sync with Git