v1alpha1

package
v0.2.1-0...-90e585d Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the dhcp v1alpha1 API group +kubebuilder:object:generate=true +groupName=coordination.thetechnick.ninja

Index

Constants

View Source
const (
	// The active condition is True as long as the adoption process is active.
	AdoptionActive = "Active"
)
View Source
const (
	// The active condition is True as long as the adoption process is active.
	ClusterAdoptionActive = "Active"
)
View Source
const (
	ClusterHandoverCompleted = "Completed"
)
View Source
const (
	HandoverCompleted = "Completed"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "coordination.thetechnick.ninja", 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 Adoption

type Adoption struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec AdoptionSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status AdoptionStatus `json:"status,omitempty"`
}

Adoption controls the assignment of new objects to an operator. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Adoption) DeepCopy

func (in *Adoption) DeepCopy() *Adoption

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

func (*Adoption) DeepCopyInto

func (in *Adoption) DeepCopyInto(out *Adoption)

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

func (*Adoption) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AdoptionList

type AdoptionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Adoption `json:"items"`
}

AdoptionList contains a list of Adoptions +kubebuilder:object:root=true

func (*AdoptionList) DeepCopy

func (in *AdoptionList) DeepCopy() *AdoptionList

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

func (*AdoptionList) DeepCopyInto

func (in *AdoptionList) DeepCopyInto(out *AdoptionList)

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

func (*AdoptionList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AdoptionPhase

type AdoptionPhase string
const (
	AdoptionPhasePending AdoptionPhase = "Pending"
	AdoptionPhaseActive  AdoptionPhase = "Active"
)

Well-known Adoption Phases for printing a Status in kubectl, see deprecation notice in AdoptionStatus for details.

type AdoptionRoundRobinStatus

type AdoptionRoundRobinStatus struct {
	// Last index chosen by the round robin algorithm.
	LastIndex int `json:"lastIndex"`
}

func (*AdoptionRoundRobinStatus) DeepCopy

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

func (*AdoptionRoundRobinStatus) DeepCopyInto

func (in *AdoptionRoundRobinStatus) DeepCopyInto(out *AdoptionRoundRobinStatus)

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

type AdoptionSpec

type AdoptionSpec struct {
	// Strategy to use for adoption.
	Strategy AdoptionStrategy `json:"strategy"`
	// TargetAPI to use for adoption.
	TargetAPI TargetAPI `json:"targetAPI"`
}

AdoptionSpec defines the desired state of a Adoption.

func (*AdoptionSpec) DeepCopy

func (in *AdoptionSpec) DeepCopy() *AdoptionSpec

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

func (*AdoptionSpec) DeepCopyInto

func (in *AdoptionSpec) DeepCopyInto(out *AdoptionSpec)

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

type AdoptionStatus

type AdoptionStatus struct {
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase AdoptionPhase `json:"phase,omitempty"`
	// Tracks round robin state to restart where the last operation ended.
	RoundRobin *AdoptionRoundRobinStatus `json:"roundRobin,omitempty"`
}

AdoptionStatus defines the observed state of a Adoption

func (*AdoptionStatus) DeepCopy

func (in *AdoptionStatus) DeepCopy() *AdoptionStatus

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

func (*AdoptionStatus) DeepCopyInto

func (in *AdoptionStatus) DeepCopyInto(out *AdoptionStatus)

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

type AdoptionStrategy

type AdoptionStrategy struct {
	// Type of adoption strategy. Can be "Static", "RoundRobin".
	// +kubebuilder:default=Static
	// +kubebuilder:validation:Enum={"Static","RoundRobin"}
	Type AdoptionStrategyType `json:"type"`

	// Static adoption strategy configuration.
	// Only present when type=Static.
	Static *AdoptionStrategyStaticSpec `json:"static,omitempty"`

	// RoundRobin adoption strategy configuration.
	// Only present when type=RoundRobin.
	RoundRobin *AdoptionStrategyRoundRobinSpec `json:"roundRobin,omitempty"`
}

AdoptionStrategy defines the strategy to handover objects.

func (*AdoptionStrategy) DeepCopy

func (in *AdoptionStrategy) DeepCopy() *AdoptionStrategy

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

func (*AdoptionStrategy) DeepCopyInto

func (in *AdoptionStrategy) DeepCopyInto(out *AdoptionStrategy)

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

type AdoptionStrategyRoundRobinSpec

type AdoptionStrategyRoundRobinSpec struct {
	// Labels to set always, no matter the round robin choice.
	Always map[string]string `json:"always"`
	// Options for the round robin strategy to choose from.
	// Only a single label set of all the provided options will be applied.
	Options []map[string]string `json:"options"`
}

func (*AdoptionStrategyRoundRobinSpec) DeepCopy

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

func (*AdoptionStrategyRoundRobinSpec) DeepCopyInto

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

type AdoptionStrategyStaticSpec

type AdoptionStrategyStaticSpec struct {
	// Labels to set on objects.
	Labels map[string]string `json:"labels"`
}

func (*AdoptionStrategyStaticSpec) DeepCopy

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

func (*AdoptionStrategyStaticSpec) DeepCopyInto

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

type AdoptionStrategyType

type AdoptionStrategyType string
const (
	// Static will change a specified label object after object.
	AdoptionStrategyStatic AdoptionStrategyType = "Static"
	// RoundRobin will apply given labels via a round robin strategy.
	AdoptionStrategyRoundRobin AdoptionStrategyType = "RoundRobin"
)

type ClusterAdoption

type ClusterAdoption struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ClusterAdoptionSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status ClusterAdoptionStatus `json:"status,omitempty"`
}

ClusterAdoption controls the assignment of new objects to an operator. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*ClusterAdoption) DeepCopy

func (in *ClusterAdoption) DeepCopy() *ClusterAdoption

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

func (*ClusterAdoption) DeepCopyInto

func (in *ClusterAdoption) DeepCopyInto(out *ClusterAdoption)

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

func (*ClusterAdoption) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterAdoptionList

type ClusterAdoptionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterAdoption `json:"items"`
}

ClusterAdoptionList contains a list of ClusterAdoptions +kubebuilder:object:root=true

func (*ClusterAdoptionList) DeepCopy

func (in *ClusterAdoptionList) DeepCopy() *ClusterAdoptionList

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

func (*ClusterAdoptionList) DeepCopyInto

func (in *ClusterAdoptionList) DeepCopyInto(out *ClusterAdoptionList)

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

func (*ClusterAdoptionList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterAdoptionPhase

type ClusterAdoptionPhase string
const (
	ClusterAdoptionPhasePending ClusterAdoptionPhase = "Pending"
	ClusterAdoptionPhaseActive  ClusterAdoptionPhase = "Active"
)

Well-known ClusterAdoption Phases for printing a Status in kubectl, see deprecation notice in ClusterAdoptionStatus for details.

type ClusterAdoptionSpec

type ClusterAdoptionSpec struct {
	// Strategy to use for adoption.
	Strategy ClusterAdoptionStrategy `json:"strategy"`
	// TargetAPI to use for adoption.
	TargetAPI TargetAPI `json:"targetAPI"`
}

ClusterAdoptionSpec defines the desired state of a ClusterAdoption.

func (*ClusterAdoptionSpec) DeepCopy

func (in *ClusterAdoptionSpec) DeepCopy() *ClusterAdoptionSpec

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

func (*ClusterAdoptionSpec) DeepCopyInto

func (in *ClusterAdoptionSpec) DeepCopyInto(out *ClusterAdoptionSpec)

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

type ClusterAdoptionStatus

type ClusterAdoptionStatus struct {
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase ClusterAdoptionPhase `json:"phase,omitempty"`
	// Tracks round robin state to restart where the last operation ended.
	RoundRobin *AdoptionRoundRobinStatus `json:"roundRobin,omitempty"`
}

ClusterAdoptionStatus defines the observed state of a ClusterAdoption

func (*ClusterAdoptionStatus) DeepCopy

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

func (*ClusterAdoptionStatus) DeepCopyInto

func (in *ClusterAdoptionStatus) DeepCopyInto(out *ClusterAdoptionStatus)

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

type ClusterAdoptionStrategy

type ClusterAdoptionStrategy struct {
	// Type of handover strategy. Can be "Static".
	// +kubebuilder:default=Static
	// +kubebuilder:validation:Enum={"Static","RoundRobin"}
	Type ClusterAdoptionStrategyType `json:"type"`

	// Static handover strategy configuration.
	// Only present when type=Static.
	Static *AdoptionStrategyStaticSpec `json:"static,omitempty"`

	// RoundRobin adoption strategy configuration.
	// Only present when type=RoundRobin.
	RoundRobin *AdoptionStrategyRoundRobinSpec `json:"roundRobin,omitempty"`
}

ClusterAdoptionStrategy defines the strategy to handover objects.

func (*ClusterAdoptionStrategy) DeepCopy

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

func (*ClusterAdoptionStrategy) DeepCopyInto

func (in *ClusterAdoptionStrategy) DeepCopyInto(out *ClusterAdoptionStrategy)

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

type ClusterAdoptionStrategyType

type ClusterAdoptionStrategyType string
const (
	// Static will change a specified label object after object.
	ClusterAdoptionStrategyStatic ClusterAdoptionStrategyType = "Static"
	// RoundRobin will apply given labels via a round robin strategy.
	ClusterAdoptionStrategyRoundRobin ClusterAdoptionStrategyType = "RoundRobin"
)

type ClusterHandover

type ClusterHandover struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ClusterHandoverSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status ClusterHandoverStatus `json:"status,omitempty"`
}

ClusterHandover controls the handover process between two operators. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Found",type="integer",JSONPath=".status.stats.found" +kubebuilder:printcolumn:name="Available",type="integer",JSONPath=".status.stats.available" +kubebuilder:printcolumn:name="Updated",type="integer",JSONPath=".status.stats.updated" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*ClusterHandover) DeepCopy

func (in *ClusterHandover) DeepCopy() *ClusterHandover

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

func (*ClusterHandover) DeepCopyInto

func (in *ClusterHandover) DeepCopyInto(out *ClusterHandover)

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

func (*ClusterHandover) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterHandoverList

type ClusterHandoverList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterHandover `json:"items"`
}

ClusterHandoverList contains a list of ClusterHandovers +kubebuilder:object:root=true

func (*ClusterHandoverList) DeepCopy

func (in *ClusterHandoverList) DeepCopy() *ClusterHandoverList

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

func (*ClusterHandoverList) DeepCopyInto

func (in *ClusterHandoverList) DeepCopyInto(out *ClusterHandoverList)

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

func (*ClusterHandoverList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterHandoverPhase

type ClusterHandoverPhase string
const (
	ClusterHandoverPhasePending     ClusterHandoverPhase = "Pending"
	ClusterHandoverPhaseProgressing ClusterHandoverPhase = "Progressing"
	ClusterHandoverPhaseCompleted   ClusterHandoverPhase = "Completed"
)

Well-known ClusterHandover Phases for printing a Status in kubectl, see deprecation notice in ClusterHandoverStatus for details.

type ClusterHandoverSpec

type ClusterHandoverSpec struct {
	// Strategy to use when handing over objects between operators.
	Strategy HandoverStrategy `json:"strategy"`
	// TargetAPI to use for handover.
	TargetAPI TargetAPI `json:"targetAPI"`
	// Probes to check selected objects for availability.
	Probes []packagesv1alpha1.Probe `json:"probes"`
}

ClusterHandoverSpec defines the desired state of a ClusterHandover.

func (*ClusterHandoverSpec) DeepCopy

func (in *ClusterHandoverSpec) DeepCopy() *ClusterHandoverSpec

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

func (*ClusterHandoverSpec) DeepCopyInto

func (in *ClusterHandoverSpec) DeepCopyInto(out *ClusterHandoverSpec)

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

type ClusterHandoverStatus

type ClusterHandoverStatus struct {
	// Processing set of objects during handover.
	Processing []HandoverRef `json:"processing,omitempty"`
	// Statistics of the handover process.
	Stats HandoverStatusStats `json:"stats,omitempty"`
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase ClusterHandoverPhase `json:"phase,omitempty"`
}

ClusterHandoverStatus defines the observed state of a ClusterHandover

func (*ClusterHandoverStatus) DeepCopy

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

func (*ClusterHandoverStatus) DeepCopyInto

func (in *ClusterHandoverStatus) DeepCopyInto(out *ClusterHandoverStatus)

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

type Handover

type Handover struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec HandoverSpec `json:"spec,omitempty"`
	// +kubebuilder:default={phase:Pending}
	Status HandoverStatus `json:"status,omitempty"`
}

Handover controls the handover process between two operators. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Found",type="integer",JSONPath=".status.stats.found" +kubebuilder:printcolumn:name="Available",type="integer",JSONPath=".status.stats.available" +kubebuilder:printcolumn:name="Updated",type="integer",JSONPath=".status.stats.updated" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Handover) DeepCopy

func (in *Handover) DeepCopy() *Handover

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

func (*Handover) DeepCopyInto

func (in *Handover) DeepCopyInto(out *Handover)

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

func (*Handover) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HandoverList

type HandoverList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Handover `json:"items"`
}

HandoverList contains a list of Handovers +kubebuilder:object:root=true

func (*HandoverList) DeepCopy

func (in *HandoverList) DeepCopy() *HandoverList

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

func (*HandoverList) DeepCopyInto

func (in *HandoverList) DeepCopyInto(out *HandoverList)

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

func (*HandoverList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type HandoverPhase

type HandoverPhase string
const (
	HandoverPhasePending     HandoverPhase = "Pending"
	HandoverPhaseProgressing HandoverPhase = "Progressing"
	HandoverPhaseCompleted   HandoverPhase = "Completed"
)

Well-known Handover Phases for printing a Status in kubectl, see deprecation notice in HandoverStatus for details.

type HandoverRef

type HandoverRef struct {
	UID       types.UID `json:"uid"`
	Name      string    `json:"name"`
	Namespace string    `json:"namespace,omitempty"`
}

func (*HandoverRef) DeepCopy

func (in *HandoverRef) DeepCopy() *HandoverRef

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

func (*HandoverRef) DeepCopyInto

func (in *HandoverRef) DeepCopyInto(out *HandoverRef)

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

type HandoverSpec

type HandoverSpec struct {
	// Strategy to use when handing over objects between operators.
	Strategy HandoverStrategy `json:"strategy"`
	// TargetAPI to use for handover.
	TargetAPI TargetAPI `json:"targetAPI"`
	// Probes to check selected objects for availability.
	Probes []packagesv1alpha1.Probe `json:"probes"`
}

HandoverSpec defines the desired state of a Handover.

func (*HandoverSpec) DeepCopy

func (in *HandoverSpec) DeepCopy() *HandoverSpec

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

func (*HandoverSpec) DeepCopyInto

func (in *HandoverSpec) DeepCopyInto(out *HandoverSpec)

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

type HandoverStatus

type HandoverStatus struct {
	// Processing set of objects during handover.
	Processing []HandoverRef `json:"processing,omitempty"`
	// Statistics of the handover process.
	Stats HandoverStatusStats `json:"stats,omitempty"`
	// The most recent generation observed by the controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions is a list of status conditions ths object is in.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// DEPRECATED: This field is not part of any API contract
	// it will go away as soon as kubectl can print conditions!
	// Human readable status - please use .Conditions from code
	Phase HandoverPhase `json:"phase,omitempty"`
}

HandoverStatus defines the observed state of a Handover

func (*HandoverStatus) DeepCopy

func (in *HandoverStatus) DeepCopy() *HandoverStatus

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

func (*HandoverStatus) DeepCopyInto

func (in *HandoverStatus) DeepCopyInto(out *HandoverStatus)

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

type HandoverStatusStats

type HandoverStatusStats struct {
	// +optional
	Found int32 `json:"found"`
	// +optional
	Available int32 `json:"available"`
	// +optional
	Updated int32 `json:"updated"`
}

func (*HandoverStatusStats) DeepCopy

func (in *HandoverStatusStats) DeepCopy() *HandoverStatusStats

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

func (*HandoverStatusStats) DeepCopyInto

func (in *HandoverStatusStats) DeepCopyInto(out *HandoverStatusStats)

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

type HandoverStrategy

type HandoverStrategy struct {
	// Type of handover strategy. Can be "Relabel".
	// +kubebuilder:default=Relabel
	// +kubebuilder:validation:Enum={"Relabel"}
	Type HandoverStrategyType `json:"type"`

	// Relabel handover strategy configuration.
	// Only present when type=Relabel.
	Relabel *HandoverStrategyRelabelSpec `json:"relabel,omitempty"`
}

HandoverStrategy defines the strategy to handover objects.

func (*HandoverStrategy) DeepCopy

func (in *HandoverStrategy) DeepCopy() *HandoverStrategy

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

func (*HandoverStrategy) DeepCopyInto

func (in *HandoverStrategy) DeepCopyInto(out *HandoverStrategy)

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

type HandoverStrategyRelabelSpec

type HandoverStrategyRelabelSpec struct {
	// LabelKey defines the labelKey to change the value of.
	// +kubebuilder:validation:MinLength=1
	LabelKey string `json:"labelKey"`

	// FromValue defines the initial value of the label.
	// +kubebuilder:validation:MinLength=1
	FromValue string `json:"fromValue"`

	// ToValue defines the desired value of the label after handover.
	// +kubebuilder:validation:MinLength=1
	ToValue string `json:"toValue"`

	// Status path to validate that the new operator is posting status information now.
	StatusPath string `json:"statusPath"`

	// MaxUnavailable defines how many objects may become unavailable due to the handover at the same time.
	// Cannot be below 1, because we cannot surge while relabling to create more instances.
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum=1
	MaxUnavailable int `json:"maxUnavailable"`
}

Relabel handover strategy definition.

func (*HandoverStrategyRelabelSpec) DeepCopy

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

func (*HandoverStrategyRelabelSpec) DeepCopyInto

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

type HandoverStrategyType

type HandoverStrategyType string
const (
	// Relabel will change a specified label object after object.
	HandoverStrategyRelabel HandoverStrategyType = "Relabel"
)

type TargetAPI

type TargetAPI struct {
	Group   string `json:"group"`
	Version string `json:"version"`
	Kind    string `json:"kind"`
}

TargetAPI specifis an API to use for operations.

func (*TargetAPI) DeepCopy

func (in *TargetAPI) DeepCopy() *TargetAPI

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

func (*TargetAPI) DeepCopyInto

func (in *TargetAPI) DeepCopyInto(out *TargetAPI)

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