Skip to main content

Deployment Lifecycle

This page explains what happens from the moment a bundle is authored to when it is running inside a tenant cluster.

Step 1 — Author the Bundle

A platform engineer writes or updates a bundle.yaml in the platform-stacks repository. The file defines inputs, resource groups, and dependencies.

→ See Authoring a Bundle

Step 2 — Register in the Catalog

The bundle is registered into the Control Plane catalog — either manually through the admin UI or via an automated sync workflow. The Control Plane stores the spec, assigns a version, and makes it available for tenants to deploy.

Step 3 — Tenant Deploys the Stack

A tenant selects the stack from the catalog, provides the required inputs, and triggers a deployment. The Control Plane resolves the template expressions, sorts resources by their dependency graph, and generates an execution plan.

Step 4 — Execution

Each step in the plan is dispatched to one of two executors:

ExecutorHandlesWhere It Runs
Temporal WorkerCloud infrastructure (VPCs, EKS clusters, IAM roles)Cogrion side
Cluster AgentIn-cluster resources (Helm, manifests, Terraform)Tenant cluster

The Cluster Agent polls the Control Plane, claims a command, executes it locally, and reports the result back. The Control Plane never pushes commands directly — the agent always initiates contact.

Step 5 — State Is Updated

As each step completes, the Control Plane updates the resource state. If a step fails, the plan halts and the error is surfaced. The tenant can retry from the last known good state.

Go Deeper