The Platform Stacks Repository
The platform-stacks repository is the catalog content layer — it is where stack definitions live before they are registered into the Control Plane.
What It Is
This repository contains bundle.yaml files: declarative specs that describe how to deploy a piece of infrastructure or an application. Each bundle is the source of truth for a catalog entry — the spec that gets registered into the Control Plane, versioned, and eventually deployed into tenant workspaces.
The repository is not a running service. It is a git repo that platform engineers work in to author, review, and version stack definitions. Once a spec is ready, it is registered into the Control Plane's catalog — either manually through the UI or via an automated git sync flow.
Repository Structure
platform-stacks/
├── stacks/
│ └── <provider>/<stack-name>/
│ ├── bundle.yaml ← stack spec
│ └── components/ ← supporting files (Helm values, manifests)
└── composite-stacks/
└── <name>/
└── bundle.yaml ← composite spec (references atomic stacks by slug)
How Expressions Work
Stack specs use ${{ }} expressions that the Control Plane evaluates at deploy time — filling in user-supplied inputs, defaults, and outputs from upstream resources. For example, a Helm chart that needs a database connection string can reference ${{ deps.database.outputs.connection_url }} and the platform will resolve it once the database resource is active.
Secrets use a different syntax ({{ secret('key') }}) that is resolved by the Cluster Agent at execution time, directly from Kubernetes secrets in the cluster. Sensitive values never pass through the Control Plane.
Go Deeper
- Authoring a Bundle
- Deployment Lifecycle
- Core Platform → Control Plane