Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kuberik.com
Index ¶
- Constants
- Variables
- type DeploymentHistoryEntry
- type FailedHealthCheck
- type HealthCheck
- type HealthCheckList
- type HealthCheckSelectorConfig
- func (in *HealthCheckSelectorConfig) DeepCopy() *HealthCheckSelectorConfig
- func (in *HealthCheckSelectorConfig) DeepCopyInto(out *HealthCheckSelectorConfig)
- func (hcsc *HealthCheckSelectorConfig) GetNamespaceSelector() *metav1.LabelSelector
- func (hcsc *HealthCheckSelectorConfig) GetSelector() *metav1.LabelSelector
- func (hcsc *HealthCheckSelectorConfig) IsValid() bool
- type HealthCheckSpec
- type HealthCheckStatus
- type HealthStatus
- type Repository
- type Rollout
- type RolloutGate
- type RolloutGateList
- type RolloutGateSpec
- type RolloutGateStatus
- type RolloutGateStatusSummary
- type RolloutList
- type RolloutSpec
- type RolloutStatus
- type TriggeredByInfo
- type VersionInfo
Constants ¶
const ( // RolloutReady means the rollout is ready to serve requests. RolloutReady = "Ready" // RolloutReleasesUpdated means the available releases were updated. RolloutReleasesUpdated = "ReleasesUpdated" // RolloutGatesPassing means all gates are passing. RolloutGatesPassing = "GatesPassing" // RolloutBakeTimeRetrying means the bake time is being retried after a failure. RolloutBakeTimeRetrying = "BakeTimeRetrying" // RolloutInvalidBakeTimeConfiguration means the bake time configuration is invalid. RolloutInvalidBakeTimeConfiguration = "InvalidBakeTimeConfiguration" )
const ( BakeStatusDeploying = "Deploying" BakeStatusInProgress = "InProgress" BakeStatusSucceeded = "Succeeded" BakeStatusFailed = "Failed" BakeStatusCancelled = "Cancelled" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "kuberik.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type DeploymentHistoryEntry ¶
type DeploymentHistoryEntry struct {
// ID is a unique auto-incrementing identifier for this history entry.
// +optional
ID *int64 `json:"id,omitempty"`
// Version is the version information that was deployed.
// +kubebuilder:validation:Required
// +required
Version VersionInfo `json:"version"`
// Timestamp is the time when the deployment occurred.
// +kubebuilder:validation:Required
// +required
Timestamp metav1.Time `json:"timestamp"`
// 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".
// +optional
Message *string `json:"message,omitempty"`
// 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".
// +optional
TriggeredBy *TriggeredByInfo `json:"triggeredBy,omitempty"`
// 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.
// +optional
BakeStatus *string `json:"bakeStatus,omitempty"`
// 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.
// +optional
BakeStatusMessage *string `json:"bakeStatusMessage,omitempty"`
// BakeStartTime is the time when the bake period started for this deployment
// This is when the rollout controller began monitoring the deployment for stability.
// +optional
BakeStartTime *metav1.Time `json:"bakeStartTime,omitempty"`
// BakeEndTime is the time when the bake period ended for this deployment
// This is when the bake process completed (either successfully or with failure).
// +optional
BakeEndTime *metav1.Time `json:"bakeEndTime,omitempty"`
// FailedHealthChecks contains all health checks that failed during bake.
// This field is populated when bake fails due to health check errors.
// +optional
FailedHealthChecks []FailedHealthCheck `json:"failedHealthChecks,omitempty"`
}
DeploymentHistoryEntry represents a single entry in the deployment history.
func (*DeploymentHistoryEntry) DeepCopy ¶
func (in *DeploymentHistoryEntry) DeepCopy() *DeploymentHistoryEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentHistoryEntry.
func (*DeploymentHistoryEntry) DeepCopyInto ¶
func (in *DeploymentHistoryEntry) DeepCopyInto(out *DeploymentHistoryEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailedHealthCheck ¶
type FailedHealthCheck struct {
// Name is the name of the health check.
// +kubebuilder:validation:Required
// +required
Name string `json:"name"`
// Namespace is the namespace of the health check.
// +kubebuilder:validation:Required
// +required
Namespace string `json:"namespace"`
// Message is the error message from the health check.
// +optional
Message *string `json:"message,omitempty"`
}
FailedHealthCheck represents a health check that failed during bake.
func (*FailedHealthCheck) DeepCopy ¶
func (in *FailedHealthCheck) DeepCopy() *FailedHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailedHealthCheck.
func (*FailedHealthCheck) DeepCopyInto ¶
func (in *FailedHealthCheck) DeepCopyInto(out *FailedHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HealthCheckSpec `json:"spec,omitempty"`
Status HealthCheckStatus `json:"status,omitempty"`
}
HealthCheck is the Schema for the healthchecks API.
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheck) DeepCopyObject ¶
func (in *HealthCheck) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckList ¶
type HealthCheckList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HealthCheck `json:"items"`
}
HealthCheckList contains a list of HealthCheck.
func (*HealthCheckList) DeepCopy ¶
func (in *HealthCheckList) DeepCopy() *HealthCheckList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckList.
func (*HealthCheckList) DeepCopyInto ¶
func (in *HealthCheckList) DeepCopyInto(out *HealthCheckList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckList) DeepCopyObject ¶
func (in *HealthCheckList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckSelectorConfig ¶
type HealthCheckSelectorConfig struct {
// Selector specifies the label selector for matching HealthChecks
// +optional
Selector *metav1.LabelSelector `json:"selector,omitempty"`
// NamespaceSelector specifies the namespace selector for matching HealthChecks
// If not specified, only HealthChecks in the same namespace as the Rollout will be considered
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}
HealthCheckSelectorConfig defines how to select HealthChecks for a rollout.
func (*HealthCheckSelectorConfig) DeepCopy ¶
func (in *HealthCheckSelectorConfig) DeepCopy() *HealthCheckSelectorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSelectorConfig.
func (*HealthCheckSelectorConfig) DeepCopyInto ¶
func (in *HealthCheckSelectorConfig) DeepCopyInto(out *HealthCheckSelectorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckSelectorConfig) GetNamespaceSelector ¶
func (hcsc *HealthCheckSelectorConfig) GetNamespaceSelector() *metav1.LabelSelector
GetNamespaceSelector returns the namespace selector.
func (*HealthCheckSelectorConfig) GetSelector ¶
func (hcsc *HealthCheckSelectorConfig) GetSelector() *metav1.LabelSelector
GetSelector returns the label selector for HealthChecks.
func (*HealthCheckSelectorConfig) IsValid ¶
func (hcsc *HealthCheckSelectorConfig) IsValid() bool
IsValid checks if the HealthCheckSelectorConfig is properly configured.
type HealthCheckSpec ¶
type HealthCheckSpec struct {
// Class specifies the type of health check (e.g., 'kustomization')
// +optional
Class *string `json:"class,omitempty"`
}
HealthCheckSpec defines the desired state of HealthCheck.
func (*HealthCheckSpec) DeepCopy ¶
func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.
func (*HealthCheckSpec) DeepCopyInto ¶
func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckStatus ¶
type HealthCheckStatus struct {
// Status indicates the health state of the check (e.g., 'Healthy', 'Unhealthy', 'Pending')
// +optional
Status HealthStatus `json:"status,omitempty"`
// LastErrorTime is the timestamp of the most recent error state
// +optional
LastErrorTime *metav1.Time `json:"lastErrorTime,omitempty"`
// Message provides additional details about the health status
// +optional
Message *string `json:"message,omitempty"`
// LastChangeTime is the timestamp when the health status last changed
// +optional
LastChangeTime *metav1.Time `json:"lastChangeTime,omitempty"`
}
HealthCheckStatus defines the observed state of HealthCheck.
func (*HealthCheckStatus) DeepCopy ¶
func (in *HealthCheckStatus) DeepCopy() *HealthCheckStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStatus.
func (*HealthCheckStatus) DeepCopyInto ¶
func (in *HealthCheckStatus) DeepCopyInto(out *HealthCheckStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthStatus ¶
type HealthStatus string
const ( HealthStatusHealthy HealthStatus = "Healthy" HealthStatusUnhealthy HealthStatus = "Unhealthy" HealthStatusPending HealthStatus = "Pending" )
type Repository ¶
type Repository struct {
// The URL of the repository
// +kubebuilder:validation:Required
// +required
URL string `json:"url,omitempty"`
// The secret name containing the authentication credentials
// +optional
Auth *corev1.LocalObjectReference `json:"secretRef,omitempty"`
}
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rollout ¶
type Rollout struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RolloutSpec `json:"spec,omitempty"`
Status RolloutStatus `json:"status,omitempty"`
}
Rollout is the Schema for the rollouts API.
func (*Rollout) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rollout.
func (*Rollout) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Rollout) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutGate ¶
type RolloutGate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RolloutGateSpec `json:"spec,omitempty"`
Status RolloutGateStatus `json:"status,omitempty"`
}
RolloutGate is the Schema for the rolloutgates API.
func (*RolloutGate) DeepCopy ¶
func (in *RolloutGate) DeepCopy() *RolloutGate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutGate.
func (*RolloutGate) DeepCopyInto ¶
func (in *RolloutGate) DeepCopyInto(out *RolloutGate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutGate) DeepCopyObject ¶
func (in *RolloutGate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutGateList ¶
type RolloutGateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RolloutGate `json:"items"`
}
RolloutGateList contains a list of RolloutGate.
func (*RolloutGateList) DeepCopy ¶
func (in *RolloutGateList) DeepCopy() *RolloutGateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutGateList.
func (*RolloutGateList) DeepCopyInto ¶
func (in *RolloutGateList) DeepCopyInto(out *RolloutGateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutGateList) DeepCopyObject ¶
func (in *RolloutGateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutGateSpec ¶
type RolloutGateSpec struct {
// +required
RolloutRef *corev1.LocalObjectReference `json:"rolloutRef"`
// Passing is true if the RolloutGate is passing.
// +required
// +default=true
Passing *bool `json:"passing,omitempty"`
// AllowedVersions is a list of versions that Rollout can be updated to.
// +optional
AllowedVersions *[]string `json:"allowedVersions,omitempty"`
}
RolloutGateSpec defines the desired state of RolloutGate.
func (*RolloutGateSpec) DeepCopy ¶
func (in *RolloutGateSpec) DeepCopy() *RolloutGateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutGateSpec.
func (*RolloutGateSpec) DeepCopyInto ¶
func (in *RolloutGateSpec) DeepCopyInto(out *RolloutGateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutGateStatus ¶
type RolloutGateStatus struct {
}
RolloutGateStatus defines the observed state of RolloutGate.
func (*RolloutGateStatus) DeepCopy ¶
func (in *RolloutGateStatus) DeepCopy() *RolloutGateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutGateStatus.
func (*RolloutGateStatus) DeepCopyInto ¶
func (in *RolloutGateStatus) DeepCopyInto(out *RolloutGateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutGateStatusSummary ¶
type RolloutGateStatusSummary struct {
// Name is the name of the gate.
// +kubebuilder:validation:Required
// +required
Name string `json:"name"`
// Passing is true if the gate is passing, false if it is blocking.
// +optional
Passing *bool `json:"passing,omitempty"`
// AllowedVersions is a list of versions that are allowed by the gate.
// +optional
AllowedVersions []string `json:"allowedVersions"`
// Message is a message describing the status of the gate.
// +optional
Message string `json:"message,omitempty"`
// BypassGates indicates whether this gate was bypassed for the current deployment.
// +kubebuilder:validation:Optional
// +optional
BypassGates bool `json:"bypassGates,omitempty"`
}
RolloutGateStatusSummary summarizes the status of a gate relevant to this rollout.
func (*RolloutGateStatusSummary) DeepCopy ¶
func (in *RolloutGateStatusSummary) DeepCopy() *RolloutGateStatusSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutGateStatusSummary.
func (*RolloutGateStatusSummary) DeepCopyInto ¶
func (in *RolloutGateStatusSummary) DeepCopyInto(out *RolloutGateStatusSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutList ¶
type RolloutList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Rollout `json:"items"`
}
RolloutList contains a list of Rollout.
func (*RolloutList) DeepCopy ¶
func (in *RolloutList) DeepCopy() *RolloutList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutList.
func (*RolloutList) DeepCopyInto ¶
func (in *RolloutList) DeepCopyInto(out *RolloutList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutList) DeepCopyObject ¶
func (in *RolloutList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutSpec ¶
type RolloutSpec struct {
// ReleasesImagePolicy specifies the ImagePolicy that provides available releases
// +kubebuilder:validation:Required
// +required
ReleasesImagePolicy corev1.LocalObjectReference `json:"releasesImagePolicy,omitempty"`
// WantedVersion specifies a specific version to deploy, overriding the automatic version selection
// +optional
WantedVersion *string `json:"wantedVersion,omitempty"`
// VersionHistoryLimit defines the maximum number of entries to keep in the deployment history
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default=10
// +optional
VersionHistoryLimit *int32 `json:"versionHistoryLimit,omitempty"`
// 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.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default=7
// +optional
AvailableReleasesRetentionDays *int32 `json:"availableReleasesRetentionDays,omitempty"`
// 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.
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default=30
// +optional
AvailableReleasesMinCount *int32 `json:"availableReleasesMinCount,omitempty"`
// 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.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +optional
BakeTime *metav1.Duration `json:"bakeTime,omitempty"`
// 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.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +optional
DeployTimeout *metav1.Duration `json:"deployTimeout,omitempty"`
// HealthCheckSelector specifies how to select HealthChecks for this rollout
// +optional
HealthCheckSelector *HealthCheckSelectorConfig `json:"healthCheckSelector,omitempty"`
}
RolloutSpec defines the desired state of Rollout.
func (*RolloutSpec) DeepCopy ¶
func (in *RolloutSpec) DeepCopy() *RolloutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutSpec.
func (*RolloutSpec) DeepCopyInto ¶
func (in *RolloutSpec) DeepCopyInto(out *RolloutSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutSpec) ValidateHealthCheckSelector ¶
func (rs *RolloutSpec) ValidateHealthCheckSelector() error
ValidateHealthCheckSelector validates the health check selector configuration. Returns an error if the configuration is invalid.
type RolloutStatus ¶
type RolloutStatus struct {
// Conditions represents the current state of the rollout process.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
// History tracks the deployment history of this Rollout.
// Each entry contains the version deployed and the timestamp of the deployment.
// +optional
History []DeploymentHistoryEntry `json:"history,omitempty"`
// AvailableReleases is a list of all releases available in the releases repository.
// +optional
AvailableReleases []VersionInfo `json:"availableReleases,omitempty"`
// 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.
// +optional
ReleaseCandidates []VersionInfo `json:"releaseCandidates,omitempty"`
// 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.
// +optional
GatedReleaseCandidates []VersionInfo `json:"gatedReleaseCandidates,omitempty"`
// Gates summarizes the status of each gate relevant to this rollout.
// +optional
Gates []RolloutGateStatusSummary `json:"gates,omitempty"`
// 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.
// +optional
ArtifactType *string `json:"artifactType,omitempty"`
// 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.
// +optional
Source *string `json:"source,omitempty"`
// 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.
// +optional
Title *string `json:"title,omitempty"`
// 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.
// +optional
Description *string `json:"description,omitempty"`
}
RolloutStatus defines the observed state of Rollout.
func (*RolloutStatus) DeepCopy ¶
func (in *RolloutStatus) DeepCopy() *RolloutStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStatus.
func (*RolloutStatus) DeepCopyInto ¶
func (in *RolloutStatus) DeepCopyInto(out *RolloutStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TriggeredByInfo ¶ added in v0.6.0
type TriggeredByInfo struct {
// Kind indicates the type of trigger: "User" for manual deployments triggered by a user,
// or "System" for automatic deployments triggered by the rollout controller.
// +kubebuilder:validation:Enum=User;System
// +kubebuilder:validation:Required
// +required
Kind string `json:"kind"`
// 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".
// +kubebuilder:validation:Required
// +required
Name string `json:"name"`
}
TriggeredByInfo indicates what triggered a deployment.
func (*TriggeredByInfo) DeepCopy ¶ added in v0.6.0
func (in *TriggeredByInfo) DeepCopy() *TriggeredByInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TriggeredByInfo.
func (*TriggeredByInfo) DeepCopyInto ¶ added in v0.6.0
func (in *TriggeredByInfo) DeepCopyInto(out *TriggeredByInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionInfo ¶
type VersionInfo struct {
// Tag is the image tag (e.g., "v1.2.3", "latest").
// +kubebuilder:validation:Required
// +required
Tag string `json:"tag"`
// Digest is the image digest if available from the ImagePolicy.
// +optional
Digest *string `json:"digest,omitempty"`
// Version is the semantic version extracted from OCI annotations if available.
// +optional
Version *string `json:"version,omitempty"`
// Revision is the revision information extracted from OCI annotations if available.
// +optional
Revision *string `json:"revision,omitempty"`
// Created is the creation timestamp extracted from OCI annotations if available.
// +optional
Created *metav1.Time `json:"created,omitempty"`
}
VersionInfo represents detailed information about a version.
func (*VersionInfo) DeepCopy ¶
func (in *VersionInfo) DeepCopy() *VersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionInfo.
func (*VersionInfo) DeepCopyInto ¶
func (in *VersionInfo) DeepCopyInto(out *VersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.