Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=kuberik.io
Index ¶
- Constants
- Variables
- type DeployAfter
- type DeployConditions
- type Deployment
- type DeploymentStatus
- type DeploymentStatusesReport
- func (r *DeploymentStatusesReport) AppendStatus(status DeploymentStatus)
- func (in *DeploymentStatusesReport) DeepCopy() *DeploymentStatusesReport
- func (in *DeploymentStatusesReport) DeepCopyInto(out *DeploymentStatusesReport)
- func (r *DeploymentStatusesReport) LastStatus() *DeploymentStatus
- func (r *DeploymentStatusesReport) VersionHealthyDuration(version string) time.Duration
- type Health
- type HealthList
- type HealthSelector
- type HealthSpec
- type HealthState
- type HealthStatus
- type LocalObjectField
- type Propagation
- type PropagationBackend
- type PropagationList
- type PropagationSpec
- type PropagationStatus
Constants ¶
const (
ReadyCondition = "Ready"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kuberik.io", 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 DeployAfter ¶
type DeployAfter struct { // Propagation will proceed only after all listed deployments report // a healthy version for the specified amount of time. Deployments []string `json:"deployments,omitempty"` // Propagtion will only be performed after all the deployments specified as dependencies report // continous healthy states for the specifed duration. // In case there's multiple versions satisfying the condition the newest one will be used. // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$" // +required BakeTime metav1.Duration `json:"bakeTime,omitempty"` }
func (*DeployAfter) DeepCopy ¶
func (in *DeployAfter) DeepCopy() *DeployAfter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployAfter.
func (*DeployAfter) DeepCopyInto ¶
func (in *DeployAfter) DeepCopyInto(out *DeployAfter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeployConditions ¶
type DeployConditions struct { // Propagation will use these conditions to determine to which version to propagate. DeployAfter `json:"deployAfter,omitempty"` // Propagation will not proceed until all the listed deployments have the same version as the current deployment. DeployWith []string `json:"deployedWith,omitempty"` }
DeployConditions defines the conditions for when and how the deployment should be propagated.
func (*DeployConditions) DeepCopy ¶
func (in *DeployConditions) DeepCopy() *DeployConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployConditions.
func (*DeployConditions) DeepCopyInto ¶
func (in *DeployConditions) DeepCopyInto(out *DeployConditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Deployment ¶
type Deployment struct { // Name of the deployment. Name string `json:"name,omitempty"` // Reads the exact version that was deployed so that accurate version can be published in the status. // +optional Version LocalObjectField `json:"version,omitempty"` // [!CAUTION] // Not implemented! // // Selector for Health objects which will be taken into account to determine if the deployment is healthy or not. HealthSelector HealthSelector `json:"healthSelector,omitempty"` }
func (*Deployment) DeepCopy ¶
func (in *Deployment) DeepCopy() *Deployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Deployment.
func (*Deployment) DeepCopyInto ¶
func (in *Deployment) DeepCopyInto(out *Deployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatus ¶
type DeploymentStatus struct { Version string `json:"version,omitempty"` Start metav1.Time `json:"start,omitempty"` //+kubebuilder:validation:Enum=Healthy;Pending;Degraded State HealthState `json:"state,omitempty"` }
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusesReport ¶
type DeploymentStatusesReport struct { DeploymentName string `json:"deploymentName,omitempty"` Statuses []DeploymentStatus `json:"statuses,omitempty"` }
History of deployment statuses of an other Propagation
func (*DeploymentStatusesReport) AppendStatus ¶
func (r *DeploymentStatusesReport) AppendStatus(status DeploymentStatus)
func (*DeploymentStatusesReport) DeepCopy ¶
func (in *DeploymentStatusesReport) DeepCopy() *DeploymentStatusesReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusesReport.
func (*DeploymentStatusesReport) DeepCopyInto ¶
func (in *DeploymentStatusesReport) DeepCopyInto(out *DeploymentStatusesReport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentStatusesReport) LastStatus ¶
func (r *DeploymentStatusesReport) LastStatus() *DeploymentStatus
func (*DeploymentStatusesReport) VersionHealthyDuration ¶
func (r *DeploymentStatusesReport) VersionHealthyDuration(version string) time.Duration
type Health ¶
type Health struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HealthSpec `json:"spec,omitempty"` Status HealthStatus `json:"status,omitempty"` }
Health is the Schema for the healths API
func (*Health) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Health.
func (*Health) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Health) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthList ¶
type HealthList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Health `json:"items"` }
HealthList contains a list of Health
func (*HealthList) DeepCopy ¶
func (in *HealthList) DeepCopy() *HealthList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthList.
func (*HealthList) DeepCopyInto ¶
func (in *HealthList) DeepCopyInto(out *HealthList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthList) DeepCopyObject ¶
func (in *HealthList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthSelector ¶
type HealthSelector struct { // TODO: LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"` // TODO: NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
func (*HealthSelector) DeepCopy ¶
func (in *HealthSelector) DeepCopy() *HealthSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthSelector.
func (*HealthSelector) DeepCopyInto ¶
func (in *HealthSelector) DeepCopyInto(out *HealthSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthSpec ¶
type HealthSpec struct { // Reported state of this Health. // +kubebuilder:validation:Enum=Healthy;Pending;Degraded State HealthState `json:"state,omitempty"` }
HealthSpec defines the desired state of Health
func (*HealthSpec) DeepCopy ¶
func (in *HealthSpec) DeepCopy() *HealthSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthSpec.
func (*HealthSpec) DeepCopyInto ¶
func (in *HealthSpec) DeepCopyInto(out *HealthSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthState ¶
type HealthState string
const ( HealthStateHealthy HealthState = "Healthy" HealthStatePending HealthState = "Pending" HealthStateUnhealthy HealthState = "Unhealthy" )
type HealthStatus ¶
type HealthStatus struct { }
HealthStatus defines the observed state of Health
func (*HealthStatus) DeepCopy ¶
func (in *HealthStatus) DeepCopy() *HealthStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthStatus.
func (*HealthStatus) DeepCopyInto ¶
func (in *HealthStatus) DeepCopyInto(out *HealthStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalObjectField ¶
type LocalObjectField struct { // Kind of the referent. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional Kind string `json:"kind,omitempty"` // Name of the referent. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names // +optional Name string `json:"name,omitempty"` // API version of the referent. // +optional APIVersion string `json:"apiVersion,omitempty"` // If referring to a piece of an object instead of an entire object, this string // should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. // For example, if the object reference is to a container within a pod, this would take on a value like: // "spec.containers{name}" (where "name" refers to the name of the container that triggered // the event) or if no container name is specified "spec.containers[2]" (container with // index 2 in this pod). This syntax is chosen only to have some well-defined way of // referencing a part of an object. // +required FieldPath string `json:"fieldPath,omitempty"` }
func (*LocalObjectField) DeepCopy ¶
func (in *LocalObjectField) DeepCopy() *LocalObjectField
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectField.
func (*LocalObjectField) DeepCopyInto ¶
func (in *LocalObjectField) DeepCopyInto(out *LocalObjectField)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Propagation ¶
type Propagation struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PropagationSpec `json:"spec,omitempty"` Status PropagationStatus `json:"status,omitempty"` }
Propagation is the Schema for the propagations API
func (*Propagation) DeepCopy ¶
func (in *Propagation) DeepCopy() *Propagation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Propagation.
func (*Propagation) DeepCopyInto ¶
func (in *Propagation) DeepCopyInto(out *Propagation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Propagation) DeepCopyObject ¶
func (in *Propagation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Propagation) NextVersion ¶
func (p *Propagation) NextVersion() string
type PropagationBackend ¶
type PropagationBackend struct { // TODO: document and add examples // oci://my-registry.my-domain/kuberik/system // s3://my-bucket-n41nkl1n4/kuberik/system // +kubebuilder:validation:Pattern="^(oci|s3):\\/\\/.+$" // +optional BaseUrl string `json:"baseUrl,omitempty"` // The secret name containing the authentication credentials // +optional SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"` }
func (*PropagationBackend) DeepCopy ¶
func (in *PropagationBackend) DeepCopy() *PropagationBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationBackend.
func (*PropagationBackend) DeepCopyInto ¶
func (in *PropagationBackend) DeepCopyInto(out *PropagationBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PropagationBackend) Scheme ¶
func (pb PropagationBackend) Scheme() (string, error)
func (PropagationBackend) TrimScheme ¶
func (pb PropagationBackend) TrimScheme() (string, error)
type PropagationList ¶
type PropagationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Propagation `json:"items"` }
PropagationList contains a list of Propagation
func (*PropagationList) DeepCopy ¶
func (in *PropagationList) DeepCopy() *PropagationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationList.
func (*PropagationList) DeepCopyInto ¶
func (in *PropagationList) DeepCopyInto(out *PropagationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagationList) DeepCopyObject ¶
func (in *PropagationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PropagationSpec ¶
type PropagationSpec struct { PollInterval metav1.Duration `json:"pollInterval,omitempty"` Backend PropagationBackend `json:"backend,omitempty"` Deployment Deployment `json:"deployment,omitempty"` }
PropagationSpec defines the desired state of Propagation
func (*PropagationSpec) DeepCopy ¶
func (in *PropagationSpec) DeepCopy() *PropagationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationSpec.
func (*PropagationSpec) DeepCopyInto ¶
func (in *PropagationSpec) DeepCopyInto(out *PropagationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagationStatus ¶
type PropagationStatus struct { DeploymentStatus DeploymentStatus `json:"deploymentStatus,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty"` DeploymentStatusesReports []DeploymentStatusesReport `json:"deploymentStatusesReports,omitempty"` DeployConditions DeployConditions `json:"deployConditions,omitempty"` }
PropagationStatus defines the observed state of Propagation
func (*PropagationStatus) DeepCopy ¶
func (in *PropagationStatus) DeepCopy() *PropagationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationStatus.
func (*PropagationStatus) DeepCopyInto ¶
func (in *PropagationStatus) DeepCopyInto(out *PropagationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PropagationStatus) FindDeploymentStatusReport ¶
func (s *PropagationStatus) FindDeploymentStatusReport(deployment string) *DeploymentStatusesReport