Skip to content

API Reference

The CRD API reference is auto-generated by the docs CI from api/v1alpha1/ Go types.

Auto-generated

This page is generated by gen-crd-api-reference-docs from the kubebuilder-annotated Go types in api/v1alpha1/. It is committed to this repository and regenerated on every push to main that changes api/v1alpha1/.


kardinal.io/v1alpha1

Bundle

A Bundle is an immutable, versioned snapshot of what to deploy. Created by CI after building and pushing an image.

Field Type Description
spec.type string Bundle type: image or config
spec.pipeline string Pipeline this Bundle belongs to
spec.images []ImageRef Container image references (for image type)
spec.configRef ConfigRef Git repository reference (for config type)
spec.provenance Provenance Build provenance (commit SHA, CI run URL, author)
spec.intent BundleIntent Promotion intent (targetEnvironment, skipEnvironments)
status.phase string Available, Promoting, Verified, Failed, Superseded
status.environments []EnvironmentStatus Per-environment promotion status and soak time

Pipeline

A Pipeline defines the promotion path for an application.

Field Type Description
spec.git.url string GitOps repository URL
spec.git.branch string Target branch
spec.git.provider string github or gitlab
spec.git.secretRef.name string Secret name containing the SCM token
spec.environments []Environment Ordered list of promotion environments
spec.environments[].name string Environment name
spec.environments[].path string Directory path in the GitOps repo
spec.environments[].approval string auto or pr-review
spec.environments[].health.type string resource, argocd, flux, argoRollouts, or flagger
spec.environments[].delivery.delegate string none, argoRollouts, or flagger
spec.environments[].shard string Shard name for distributed mode

PolicyGate

A policy check that blocks promotions until its CEL expression evaluates to true.

Field Type Description
spec.expression string CEL expression (see CEL Context)
spec.message string Human-readable message shown when blocked
spec.recheckInterval string How often to re-evaluate (default: 5m)
metadata.labels["kardinal.io/scope"] string org or team
metadata.labels["kardinal.io/applies-to"] string Comma-separated environment names
metadata.labels["kardinal.io/type"] string gate or skip-permission

PromotionStep

Represents one environment's promotion progress. Created by the Graph controller per Bundle per environment.

Field Type Description
spec.pipeline string Pipeline name
spec.bundle string Bundle name
spec.environment string Environment name
spec.shard string Shard assignment (distributed mode)
status.phase string Pending, Promoting, WaitingForMerge, HealthChecking, Verified, Failed
status.prURL string Pull request URL (when opened)
status.branchName string Git branch created for this promotion

MetricCheck

A Prometheus-backed health check gate.

Field Type Description
spec.prometheusURL string Prometheus server URL
spec.query string PromQL query
spec.threshold float64 Comparison threshold
spec.operator string lt, gt, lte, gte, or eq
status.lastValue string Last queried metric value
status.result string Pass or Fail

PRStatus

Tracks GitHub pull request state (open, merged, closed).

Field Type Description
spec.prNumber int Pull request number
spec.repoURL string Repository URL
status.state string Current PR state
status.mergedAt string Timestamp when PR was merged

RollbackPolicy

Auto-rollback configuration for a Pipeline.

Field Type Description
spec.pipeline string Target pipeline
spec.autoRollback.enabled bool Enable auto-rollback
spec.autoRollback.failureThreshold int Consecutive health failures before rollback

For the complete kubebuilder-generated API reference, see the api/v1alpha1/ source code.