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.