Release Track
ReleaseTrack
Declarative promotion lifecycle ("Path to Production") for a group of applications.
Encodes the sequential deployment stages, target environments, and stakeholder approvals that govern how artifacts are promoted from pre-release validation through to production, plus an expedited hotfix path. The engine validates the stages against the org tree but provisions no GCP resource directly; the stage definitions govern the CD pipeline and are cross-referenced by child ApplicationSet manifests, which are its direct children.
| Property | Type | Description |
|---|---|---|
| apiVersion | string | API schema version. Pins the manifest to a specific schema contract for backward-compatibility. Must be the constant lowops.manifests.v1. |
| kind | string | Resource kind discriminator. Identifies this document as a ReleaseTrack so the engine routes it to the correct defaulter, validator, computer, and executor. Must be the constant ReleaseTrack. |
| metadata | map | Classification labels and graph linkage. Free-form key/value pairs used to classify the manifest. Certain reserved keys (e.g. name, organizational-unit, organization) are read by the engine to resolve this manifest's identity and its parents in the dependency graph. |
| spec | Spec | Desired release-track configuration. The authoritative, user-authored specification for this release track. See Spec. |
Spec
User-provided release track configuration.
Defines the three promotion pipelines for the track: pre-release validation, standard release promotion, and accelerated hotfixes. Each pipeline is an ordered list of stages that the engine validates and that governs the CD promotion path.
| Property | Type | Description |
|---|---|---|
| description | string | Human-readable description of the release track. Optional free text documenting the track's purpose. Documentation-only: this manifest provisions no cloud resource to carry it; retained as manifest metadata and context for operators and AI assistants. |
| preReleaseStages | list of Stage | Pre-release (integration) stages. Ordered list of deployment stages executed on pull requests before a release is created, typically deploying to non-production or ephemeral preview environments for testing and validation. Validated by the engine against the org tree and cross-referenced by child ApplicationSet manifests; the stage list drives the CD pipeline's integration path. |
| releaseStages | list of Stage | Standard release promotion stages. Ordered list of deployment stages executed when a new version is tagged, typically promoting the official artifact through staging and then production. Validated by the engine against the org tree and cross-referenced by child ApplicationSet manifests; the stage list drives the primary CD promotion path. |
| hotfixStages | list of Stage | Accelerated hotfix stages. Ordered list of deployment stages for an expedited release path used to ship urgent hotfixes to production with minimal lead time while preserving track governance. Validated by the engine against the org tree and cross-referenced by child ApplicationSet manifests. |
Stage
Defines a phase within a deployment strategy.
Maps out which application environments must be deployed to concurrently before proceeding, establishing the approval gates.
| Property | Type | Description |
|---|---|---|
| environments | list of string | Environments in this stage. A list of Environment manifest names that belong to this deployment stage. An application must deploy successfully to every environment in the stage before it can be promoted to the next stage. |
| approvalPolicy | ApprovalPolicy | Approval gate for the stage. The approval policy that must be satisfied before the release may proceed through this stage. Validated during release-track processing to ensure referenced stakeholders exist. See ApprovalPolicy. |
ApprovalPolicy
Recursive rule describing who must approve a deployment stage.
A single node in an approval tree: either a leaf naming one stakeholder, or a composite (any-of, all-of, or quorum) over nested policies. The engine validates every referenced stakeholder against the organization when processing a ReleaseTrack.
| Property | Type | Description |
|---|---|---|
| stakeholder | Stakeholder | Single required approver. A leaf policy satisfied when the named stakeholder (a user or group) approves. See Stakeholder. |
| anyOf | ApprovalSet | Any-of (OR) composite. Satisfied when at least one of the nested policies is satisfied. See ApprovalSet. |
| allOf | ApprovalSet | All-of (AND) composite. Satisfied only when every nested policy is satisfied. See ApprovalSet. |
| quorum | ApprovalSet | Quorum composite. Satisfied when at least min_approvals of the nested policies are satisfied. See ApprovalSet. |
ApprovalSet
A collection of nested approval policies combined by a composite operator.
Holds the child policies for an any-of, all-of, or quorum node of an ApprovalPolicy tree. For quorum nodes, min_approvals sets how many children must be satisfied.
| Property | Type | Description |
|---|---|---|
| policies | list of ApprovalPolicy | Nested policies. The child approval policies combined by the parent operator (any-of, all-of, or quorum). See ApprovalPolicy. |
| minApprovals | int32 | Quorum threshold. For quorum composites, the minimum number of nested policies that must be satisfied. Ignored by any-of and all-of operators. |
Stakeholder
Identifies a single approver by email.
A stakeholder is either an individual user or a group, referenced by email address. Used as the leaf of an ApprovalPolicy tree and validated to exist in the organization.
| Property | Type | Description |
|---|---|---|
| userEmail | string | User approver email. The email address of an individual OrganizationUser who may satisfy the approval. |
| groupEmail | string | Group approver email. The email address of an OrganizationUserGroup whose members may satisfy the approval. |