API Reference
This page includes the full API documentation of the Kuberik project.
Environment API
Resource Types:
BackendConfig
Appears in:
BackendConfig contains backend-specific configuration
| Field | Description |
|---|---|
typestring | Type specifies the backend to use (e.g., "github") |
projectstring | Project is the project identifier (backend-specific format, e.g., "owner/repo" for GitHub) |
secretstring | Secret is the name of the Kubernetes Secret containing the backend authentication token |
Environment
Environment is the Schema for the environments API
| Field | Description |
|---|---|
metadata,omitempty,omitzeroObjectMeta | metadata is a standard object metadataRefer to the Kubernetes API documentation for the fields of the metadata field. |
specEnvironmentSpec | spec defines the desired state of Environment |
status,omitempty,omitzeroEnvironmentStatus | status defines the observed state of Environment |
EnvironmentInfo
Appears in:
EnvironmentInfo represents information about an environment’s deployment.
| Field | Description |
|---|---|
environmentstring | Environment is the environment name |
environmentUrlstring | EnvironmentURL is the URL of the actual deployed environment (e.g., dashboard URL) |
relationshipEnvironmentRelationship | Relationship defines how this environment relates to another environment |
history[]DeploymentHistoryEntry | History contains deployment history entries for this environment |
EnvironmentRelationship
Appears in:
EnvironmentRelationship defines a relationship to another environment
| Field | Description |
|---|---|
environmentstring | Environment is the environment name this environment relates to |
typeRelationshipType | Type is the type of relationship: "After" or "Parallel" |
EnvironmentSpec
Appears in:
EnvironmentSpec defines the desired state of Environment
| Field | Description |
|---|---|
rolloutRefLocalObjectReference | RolloutRef is a reference to the Rollout that this Environment manages |
namestring | Name is the name of the GitHub deployment (the "kuberik" prefix will be automatically added for GitHub backend if not already present) |
environmentstring | Environment is the environment name (e.g., "production", "staging") |
relationshipEnvironmentRelationship | Relationship defines how this environment relates to another environment |
backendBackendConfig | Backend contains backend-specific configuration |
requeueIntervalstring | RequeueInterval specifies how often the controller should reconcile this Environment If not specified, defaults to 1 minute. Must be a valid duration string (e.g., "1m", "30s", "5m"). |
EnvironmentStatus
Appears in:
EnvironmentStatus defines the observed state of Environment.
| Field | Description |
|---|---|
lastStatusChangeTimeTime | LastStatusChangeTime is the last time the status was updated (only updated when status changes) |
currentVersionstring | CurrentVersion is the current version being deployed |
rolloutGateRefLocalObjectReference | RolloutGateRef is a reference to the RolloutGate that was created/updated |
environmentInfos[]EnvironmentInfo | EnvironmentInfos tracks deployment information for each environment. Each environment has environment URL and relationships (not per version). |
conditions[]Condition | conditions represent the current state of the Environment resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource. Standard condition types include: - "Available": the resource is fully functional - "Progressing": the resource is being created or updated - "Degraded": the resource failed to reach or maintain its desired state The status of each condition is one of True, False, or Unknown. |
RelationshipType
(Alias of string)
Appears in:
RelationshipType defines the type of relationship between environments
OpenKruise Integration API
Resource Types:
RolloutTest
RolloutTest is the Schema for the rollouttests API
| Field | Description |
|---|---|
metadata,omitempty,omitzeroObjectMeta | metadata is a standard object metadataRefer to the Kubernetes API documentation for the fields of the metadata field. |
specRolloutTestSpec | spec defines the desired state of RolloutTest |
status,omitempty,omitzeroRolloutTestStatus | status defines the observed state of RolloutTest |
RolloutTestSpec
Appears in:
RolloutTestSpec defines the desired state of RolloutTest
| Field | Description |
|---|---|
rolloutNamestring | RolloutName is the name of the Rollout to watch. |
stepIndexint32 | StepIndex is the index of the step in the Rollout strategy to execute the test at. |
jobTemplatek8s.io/api/batch/v1.JobSpec | JobTemplate is the template for the Job to run. |
RolloutTestStatus
Appears in:
RolloutTestStatus defines the observed state of RolloutTest.
| Field | Description |
|---|---|
conditions[]Condition | Conditions store the status conditions of the RolloutTest. |
observedCanaryRevisionstring | ObservedCanaryRevision is the canaryRevision from the Rollout that the current job was created for. When the canaryRevision changes, it indicates a new rollout and the old job should be deleted. |
phaseRolloutTestPhase | Phase represents the current phase of the RolloutTest |
jobNamestring | JobName is the name of the Job created for this test |
retryCountint32 | RetryCount is the number of times the job has been retried (from job status) |
activePodsint32 | ActivePods is the number of active pods for the job |
succeededPodsint32 | SucceededPods is the number of succeeded pods for the job |
failedPodsint32 | FailedPods is the number of failed pods for the job |
Rollout API
Resource Types:
ClusterRolloutSchedule
ClusterRolloutSchedule is the Schema for the clusterrolloutschedules API.
| Field | Description |
|---|---|
metadataObjectMeta | No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field. |
specClusterRolloutScheduleSpec | No description provided. |
statusClusterRolloutScheduleStatus | No description provided. |
ClusterRolloutScheduleSpec
Appears in:
ClusterRolloutScheduleSpec defines the desired state of ClusterRolloutSchedule.
| Field | Description |
|---|---|
rolloutSelectorLabelSelector | RolloutSelector is a label selector to match Rollouts across namespaces. |
namespaceSelectorLabelSelector | NamespaceSelector is a label selector to match namespaces. If empty, applies to all namespaces. |
rules[]ScheduleRule | Rules is a list of schedule rules. The schedule is active if ANY rule matches the current time/date. |
timezonestring | Timezone is the IANA timezone for the schedule (e.g., "America/New_York"). Defaults to "UTC" if not specified. |
actionRolloutScheduleAction | Action defines what to do when the schedule is active. - "Allow": Gate passes when active, blocks when inactive - "Deny": Gate blocks when active, passes when inactive |
ClusterRolloutScheduleStatus
Appears in:
ClusterRolloutScheduleStatus defines the observed state of ClusterRolloutSchedule.
| Field | Description |
|---|---|
activebool | Active indicates if the schedule is currently active (any rule matches). |
activeRules[]string | ActiveRules is a list of rule names that are currently active. |
nextTransitionTime | NextTransition is the timestamp when the active state will next change. |
managedGates[]string | ManagedGates is a list of RolloutGate names being managed by this schedule. Format: "namespace/name" |
matchingRolloutsint | MatchingRollouts is the count of rollouts currently matched by the selectors. |
conditions[]Condition | Conditions represents the current state of the schedule. |
DateRange
Appears in:
DateRange represents a date range.
| Field | Description |
|---|---|
startstring | Start date in YYYY-MM-DD format |
endstring | End date in YYYY-MM-DD format |
DayOfWeek
(Alias of string)
Appears in:
DayOfWeek represents a day of the week.
DeploymentHistoryEntry
Appears in:
DeploymentHistoryEntry represents a single entry in the deployment history.
| Field | Description |
|---|---|
idint64 | ID is a unique auto-incrementing identifier for this history entry. |
versionVersionInfo | Version is the version information that was deployed. |
timestampTime | Timestamp is the time when the deployment occurred. |
messagestring | Message provides a descriptive message about this deployment entry This field contains human-readable information about the deployment context. For automatic deployments, it includes information about gate bypass and failed bake unblock. For manual deployments (when wantedVersion is specified), it can contain a custom message provided via the "rollout.kuberik.com/deployment-message" annotation, or defaults to "Manual deployment". |
triggeredByTriggeredByInfo | TriggeredBy indicates what triggered this deployment. Kind can be "User" for manual deployments triggered by a user, or "System" for automatic deployments. Name contains the name of the user or system that triggered the deployment. For user-triggered deployments, this is extracted from the "rollout.kuberik.com/deploy-user" annotation. For system-triggered deployments, this is typically "rollout-controller". |
bakeStatusstring | BakeStatus tracks the bake state for this deployment (e.g., None, InProgress, Succeeded, Failed, Cancelled) The bake process ensures that the deployment is stable and healthy before marking as successful. |
bakeStatusMessagestring | BakeStatusMessage provides details about the bake state for this deployment This field contains human-readable information about why the bake status is what it is. |
bakeStartTimeTime | BakeStartTime is the time when the bake period started for this deployment This is when the rollout controller began monitoring the deployment for stability. |
bakeEndTimeTime | BakeEndTime is the time when the bake period ended for this deployment This is when the bake process completed (either successfully or with failure). |
failedHealthChecks[]FailedHealthCheck | FailedHealthChecks contains all health checks that failed during bake. This field is populated when bake fails due to health check errors. |
FailedHealthCheck
Appears in:
FailedHealthCheck represents a health check that failed during bake.
| Field | Description |
|---|---|
namestring | Name is the name of the health check. |
namespacestring | Namespace is the namespace of the health check. |
messagestring | Message is the error message from the health check. |
HealthCheck
HealthCheck is the Schema for the healthchecks API.
| Field | Description |
|---|---|
metadataObjectMeta | No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field. |
specHealthCheckSpec | No description provided. |
statusHealthCheckStatus | No description provided. |
HealthCheckSelectorConfig
Appears in:
HealthCheckSelectorConfig defines how to select HealthChecks for a rollout.
| Field | Description |
|---|---|
selectorLabelSelector | Selector specifies the label selector for matching HealthChecks |
namespaceSelectorLabelSelector | NamespaceSelector specifies the namespace selector for matching HealthChecks If not specified, only HealthChecks in the same namespace as the Rollout will be considered |
HealthCheckSpec
Appears in:
HealthCheckSpec defines the desired state of HealthCheck.
| Field | Description |
|---|---|
classstring | Class specifies the type of health check (e.g., 'kustomization') |
HealthCheckStatus
Appears in:
HealthCheckStatus defines the observed state of HealthCheck.
| Field | Description |
|---|---|
statusHealthStatus | Status indicates the health state of the check (e.g., 'Healthy', 'Unhealthy', 'Pending') |
lastErrorTimeTime | LastErrorTime is the timestamp of the most recent error state |
messagestring | Message provides additional details about the health status |
lastChangeTimeTime | LastChangeTime is the timestamp when the health status last changed |
HealthStatus
(Alias of string)
Appears in:
Rollout
Rollout is the Schema for the rollouts API.
| Field | Description |
|---|---|
metadataObjectMeta | No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field. |
specRolloutSpec | No description provided. |
statusRolloutStatus | No description provided. |
RolloutGate
RolloutGate is the Schema for the rolloutgates API.
| Field | Description |
|---|---|
metadataObjectMeta | No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field. |
specRolloutGateSpec | No description provided. |
statusRolloutGateStatus | No description provided. |
RolloutGateSpec
Appears in:
RolloutGateSpec defines the desired state of RolloutGate.
| Field | Description |
|---|---|
rolloutRefLocalObjectReference | No description provided. |
passingbool | Passing is true if the RolloutGate is passing. |
allowedVersions[]string | AllowedVersions is a list of versions that Rollout can be updated to. |
RolloutGateStatus
Appears in:
RolloutGateStatus defines the observed state of RolloutGate.
RolloutGateStatusSummary
Appears in:
RolloutGateStatusSummary summarizes the status of a gate relevant to this rollout.
| Field | Description |
|---|---|
namestring | Name is the name of the gate. |
passingbool | Passing is true if the gate is passing, false if it is blocking. |
allowedVersions[]string | AllowedVersions is a list of versions that are allowed by the gate. |
messagestring | Message is a message describing the status of the gate. |
bypassGatesbool | BypassGates indicates whether this gate was bypassed for the current deployment. |
RolloutSchedule
RolloutSchedule is the Schema for the rolloutschedules API.
| Field | Description |
|---|---|
metadataObjectMeta | No description provided. Refer to the Kubernetes API documentation for the fields of the metadata field. |
specRolloutScheduleSpec | No description provided. |
statusRolloutScheduleStatus | No description provided. |
RolloutScheduleAction
(Alias of string)
RolloutScheduleAction defines the action to take when the schedule is active.
RolloutScheduleSpec
Appears in:
RolloutScheduleSpec defines the desired state of RolloutSchedule.
| Field | Description |
|---|---|
rolloutSelectorLabelSelector | RolloutSelector is a label selector to match Rollouts in the same namespace. |
rules[]ScheduleRule | Rules is a list of schedule rules. The schedule is active if ANY rule matches the current time/date. |
timezonestring | Timezone is the IANA timezone for the schedule (e.g., "America/New_York"). Defaults to "UTC" if not specified. |
actionRolloutScheduleAction | Action defines what to do when the schedule is active. - "Allow": Gate passes when active, blocks when inactive - "Deny": Gate blocks when active, passes when inactive |
RolloutScheduleStatus
Appears in:
RolloutScheduleStatus defines the observed state of RolloutSchedule.
| Field | Description |
|---|---|
activebool | Active indicates if the schedule is currently active (any rule matches). |
activeRules[]string | ActiveRules is a list of rule names that are currently active. |
nextTransitionTime | NextTransition is the timestamp when the active state will next change. |
managedGates[]string | ManagedGates is a list of RolloutGate names being managed by this schedule. |
matchingRolloutsint | MatchingRollouts is the count of rollouts currently matched by the selector. |
conditions[]Condition | Conditions represents the current state of the schedule. |
RolloutSpec
Appears in:
RolloutSpec defines the desired state of Rollout.
| Field | Description |
|---|---|
releasesImagePolicyLocalObjectReference | ReleasesImagePolicy specifies the ImagePolicy that provides available releases |
wantedVersionstring | WantedVersion specifies a specific version to deploy, overriding the automatic version selection |
versionHistoryLimitint32 | VersionHistoryLimit defines the maximum number of entries to keep in the deployment history |
availableReleasesRetentionDaysint32 | AvailableReleasesRetentionDays defines how many days of available releases to keep based on creation timestamp When history is full, releases older than this retention period may be removed. Defaults to 7 days if not specified. |
availableReleasesMinCountint32 | AvailableReleasesMinCount defines the minimum number of available releases to always keep When history is full, at least this many releases will be retained regardless of other criteria. Defaults to 30 if not specified. |
bakeTimeDuration | BakeTime specifies how long to wait after bake starts before marking as successful If no errors happen within the bake time, the rollout is baked successfully. If not specified, no bake time is enforced. |
deployTimeoutDuration | DeployTimeout specifies the maximum time to wait for bake to start before marking as failed If bake doesn't start within deployTimeout (i.e., health checks don't become healthy), the rollout should be marked as failed. If not specified, the rollout will wait indefinitely for bake to start. |
healthCheckSelectorHealthCheckSelectorConfig | HealthCheckSelector specifies how to select HealthChecks for this rollout |
RolloutStatus
Appears in:
RolloutStatus defines the observed state of Rollout.
| Field | Description |
|---|---|
conditions[]Condition | Conditions represents the current state of the rollout process. |
history[]DeploymentHistoryEntry | History tracks the deployment history of this Rollout. Each entry contains the version deployed and the timestamp of the deployment. |
availableReleases[]VersionInfo | AvailableReleases is a list of all releases available in the releases repository. |
releaseCandidates[]VersionInfo | ReleaseCandidates is a list of releases that are candidates for the next deployment. These are filtered from AvailableReleases based on deployment history and version ordering. |
gatedReleaseCandidates[]VersionInfo | GatedReleaseCandidates is a list of release candidates that have passed through all gates. This shows which versions are actually available for deployment after gate evaluation. |
gates[]RolloutGateStatusSummary | Gates summarizes the status of each gate relevant to this rollout. |
artifactTypestring | ArtifactType is the media/artifact type of the image extracted from the manifest. This includes OCI artifact types, container image types, and other media types. This field is set once for the entire rollout based on the latest available release. |
sourcestring | Source is the source information extracted from OCI annotations. This typically contains the repository URL or source code location. This field is set once for the entire rollout based on the latest available release. |
titlestring | Title is the title of the image extracted from OCI annotations. This field is set once for the entire rollout based on the latest available release. |
descriptionstring | Description is the description of the image extracted from OCI annotations. This field is set once for the entire rollout based on the latest available release. |
ScheduleRule
ScheduleRule defines a time-based rule. The schedule is active if the current time/date matches this rule.
| Field | Description |
|---|---|
namestring | Name is an optional identifier for this rule |
timeRangeTimeRange | TimeRange restricts the rule to specific times of day |
daysOfWeek[]DayOfWeek | DaysOfWeek restricts the rule to specific days of the week |
dateRangeDateRange | DateRange restricts the rule to specific date range |
TimeRange
Appears in:
TimeRange represents a time range within a day.
| Field | Description |
|---|---|
startstring | Start time in HH:MM format (24-hour) |
endstring | End time in HH:MM format (24-hour) |
TriggeredByInfo
Appears in:
TriggeredByInfo indicates what triggered a deployment.
| Field | Description |
|---|---|
kindstring | Kind indicates the type of trigger: "User" for manual deployments triggered by a user, or "System" for automatic deployments triggered by the rollout controller. |
namestring | Name contains the name of the user or system that triggered the deployment. For user-triggered deployments, this is extracted from the "rollout.kuberik.com/deploy-user" annotation. For system-triggered deployments, this is typically "rollout-controller". |
VersionInfo
Appears in:
VersionInfo represents detailed information about a version.
| Field | Description |
|---|---|
tagstring | Tag is the image tag (e.g., "v1.2.3", "latest"). |
digeststring | Digest is the image digest if available from the ImagePolicy. |
versionstring | Version is the semantic version extracted from OCI annotations if available. |
revisionstring | Revision is the revision information extracted from OCI annotations if available. |
createdTime | Created is the creation timestamp extracted from OCI annotations if available. |