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: 0

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