Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 6 Imported by: 5

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group. +kubebuilder:object:generate=true +groupName=kuberik.com

Index

Constants

View Source
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"
)
View Source
const (
	BakeStatusDeploying  = "Deploying"
	BakeStatusInProgress = "InProgress"
	BakeStatusSucceeded  = "Succeeded"
	BakeStatusFailed     = "Failed"
	BakeStatusCancelled  = "Cancelled"
)

Variables

View Source
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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSelectorConfig.

func (*HealthCheckSelectorConfig) DeepCopyInto

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

func (in *Rollout) DeepCopy() *Rollout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rollout.

func (*Rollout) DeepCopyInto

func (in *Rollout) DeepCopyInto(out *Rollout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Rollout) DeepCopyObject

func (in *Rollout) DeepCopyObject() runtime.Object

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL