v1alpha1

package
v0.0.0-...-1e85a6b Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the kubernetesimal v1alpha1 API group +kubebuilder:object:generate=true +groupName=kubernetesimal.kkohtaka.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kubernetesimal.kkohtaka.org", 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 ControllerTracing

type ControllerTracing struct {
	// OTELCollectorAddress is the address to send traces to over HTTP.
	OTELCollectorAddress string `json:"otelCollectorAddress,omitempty"`

	// OTELCollectorGRPCAddress is the address to send traces to over HTTP.
	OTELCollectorGRPCAddress string `json:"otelCollectorGRPCAddress,omitempty"`
}

func (*ControllerTracing) DeepCopy

func (in *ControllerTracing) DeepCopy() *ControllerTracing

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

func (*ControllerTracing) DeepCopyInto

func (in *ControllerTracing) DeepCopyInto(out *ControllerTracing)

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

type Etcd

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

	Spec   EtcdSpec   `json:"spec,omitempty"`
	Status EtcdStatus `json:"status,omitempty"`
}

Etcd is the Schema for the etcds API

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

func (*Etcd) DeepCopyObject

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

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

func (*Etcd) Default

func (r *Etcd) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Etcd) SetupWebhookWithManager

func (r *Etcd) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Etcd) ValidateCreate

func (r *Etcd) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Etcd) ValidateDelete

func (r *Etcd) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Etcd) ValidateUpdate

func (r *Etcd) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type EtcdCondition

type EtcdCondition struct {
	// Type is the type of the condition.
	Type EtcdConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// Last time we probed the condition.
	LastProbeTime *metav1.Time `json:"lastProbeTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Human-readable message indicating details about last transition.
	Message string `json:"message,omitempty"`
}

EtcdCondition defines a status respected to a certain condition.

func (*EtcdCondition) DeepCopy

func (in *EtcdCondition) DeepCopy() *EtcdCondition

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

func (*EtcdCondition) DeepCopyInto

func (in *EtcdCondition) DeepCopyInto(out *EtcdCondition)

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

type EtcdConditionType

type EtcdConditionType string

EtcdConditionType represents a type of condition. +kubebuilder:validation:Enum=Ready;MembersHealthy

const (
	// EtcdConditionTypeReady is a status respective to a cluster readiness.
	EtcdConditionTypeReady EtcdConditionType = "Ready"

	// EtcdConditionTypeMembersHealthy indicates whether all EtcdNodes are registered successfully and healthy.
	EtcdConditionTypeMembersHealthy EtcdConditionType = "MembersHealthy"
)

type EtcdList

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

EtcdList contains a list of Etcd

func (*EtcdList) DeepCopy

func (in *EtcdList) DeepCopy() *EtcdList

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

func (*EtcdList) DeepCopyInto

func (in *EtcdList) DeepCopyInto(out *EtcdList)

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

func (*EtcdList) DeepCopyObject

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

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

type EtcdNode

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

	Spec   EtcdNodeSpec   `json:"spec,omitempty"`
	Status EtcdNodeStatus `json:"status,omitempty"`
}

EtcdNode is the Schema for the etcd nodes API

func (*EtcdNode) DeepCopy

func (in *EtcdNode) DeepCopy() *EtcdNode

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

func (*EtcdNode) DeepCopyInto

func (in *EtcdNode) DeepCopyInto(out *EtcdNode)

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

func (*EtcdNode) DeepCopyObject

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

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

type EtcdNodeCondition

type EtcdNodeCondition struct {
	// Type is the type of the condition.
	Type EtcdNodeConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// Last time we probed the condition.
	LastProbeTime *metav1.Time `json:"lastProbeTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Human-readable message indicating details about last transition.
	Message string `json:"message,omitempty"`
}

EtcdNodeCondition defines a status respected to a certain condition.

func (*EtcdNodeCondition) DeepCopy

func (in *EtcdNodeCondition) DeepCopy() *EtcdNodeCondition

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

func (*EtcdNodeCondition) DeepCopyInto

func (in *EtcdNodeCondition) DeepCopyInto(out *EtcdNodeCondition)

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

type EtcdNodeConditionType

type EtcdNodeConditionType string

EtcdNodeConditionType represents a type of condition. +kubebuilder:validation:Enum=Ready;Provisioned;MemberFinalized

const (
	// EtcdNodeConditionTypeReady is a status respective to a node readiness.
	EtcdNodeConditionTypeReady EtcdNodeConditionType = "Ready"
	// EtcdNodeConditionTypeProvisioned is a status respective to a node provisioning.
	EtcdNodeConditionTypeProvisioned EtcdNodeConditionType = "Provisioned"
	// EtcdNodeConditionTypeMemberFinalized is a status representing a node as an etcd member was left from a cluster.
	EtcdNodeConditionTypeMemberFinalized EtcdNodeConditionType = "MemberFinalized"
)

type EtcdNodeDeployment

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

	Spec   EtcdNodeDeploymentSpec   `json:"spec,omitempty"`
	Status EtcdNodeDeploymentStatus `json:"status,omitempty"`
}

EtcdNodeDeployment is the Schema for the etcdnodedeployments API

func (*EtcdNodeDeployment) DeepCopy

func (in *EtcdNodeDeployment) DeepCopy() *EtcdNodeDeployment

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

func (*EtcdNodeDeployment) DeepCopyInto

func (in *EtcdNodeDeployment) DeepCopyInto(out *EtcdNodeDeployment)

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

func (*EtcdNodeDeployment) DeepCopyObject

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

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

type EtcdNodeDeploymentList

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

EtcdNodeDeploymentList contains a list of EtcdNodeDeployment

func (*EtcdNodeDeploymentList) DeepCopy

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

func (*EtcdNodeDeploymentList) DeepCopyInto

func (in *EtcdNodeDeploymentList) DeepCopyInto(out *EtcdNodeDeploymentList)

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

func (*EtcdNodeDeploymentList) DeepCopyObject

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

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

type EtcdNodeDeploymentSpec

type EtcdNodeDeploymentSpec struct {
	// Replicas is the number of desired replicas.
	// This is a pointer to distinguish between explicit zero and unspecified.
	// Defaults to 1.
	//+kubebuilder:default=1
	Replicas *int32 `json:"replicas,omitempty"`

	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// Template is the object that describes the EtcdNode that will be created if insufficient replicas are detected.
	Template EtcdNodeTemplateSpec `json:"template,omitempty"`

	// Rolling update config params. Present only if DeploymentStrategyType = RollingUpdate.
	RollingUpdate RollingUpdateEtcdNodeDeployment `json:"rollingUpdate,omitempty"`

	// The number of old EtcdNodeSets to retain to allow rollback.
	// This is a pointer to distinguish between explicit zero and not specified.
	// This is set to the max value of int32 (i.e. 2147483647) by default, which means
	// "retaining all old EtcdNodeSets".
	RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
}

EtcdNodeDeploymentSpec defines the desired state of EtcdNodeDeployment

func (*EtcdNodeDeploymentSpec) DeepCopy

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

func (*EtcdNodeDeploymentSpec) DeepCopyInto

func (in *EtcdNodeDeploymentSpec) DeepCopyInto(out *EtcdNodeDeploymentSpec)

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

type EtcdNodeDeploymentStatus

type EtcdNodeDeploymentStatus struct {
	// Replicas is the most recently observed number of replicas.
	//+kubebuilder:validation:Minimum=0
	Replicas int32 `json:"replicas,omitempty"`

	// UpdatedReplicas
	//+kubebuilder:validation:Minimum=0
	UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`

	// ReadyReplicas is the number of EtcdNodes targeted by this EtcdNodeSet with a Ready Condition.
	//+kubebuilder:validation:Minimum=0
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// AvailableReplicas
	//+kubebuilder:validation:Minimum=0
	AvailableReplicas int32 `json:"availableReplicas,omitempty"`

	// UnavailableReplicas
	//+kubebuilder:validation:Minimum=0
	UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed EtcdNodeSet.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Count of hash collisions for the EtcdNodeDeployment.
	// The EtcdNodeDeployment controller uses this field as a collision avoidance mechanism when it needs to create the
	// name for the newest EtcdNodeSet.
	CollisionCount *int32 `json:"collisionCount,omitempty"`

	// Revision
	//+kubebuilder:default=0
	Revision *int64 `json:"revision,omitempty"`
}

EtcdNodeDeploymentStatus defines the observed state of EtcdNodeDeployment

func (*EtcdNodeDeploymentStatus) DeepCopy

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

func (*EtcdNodeDeploymentStatus) DeepCopyInto

func (in *EtcdNodeDeploymentStatus) DeepCopyInto(out *EtcdNodeDeploymentStatus)

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

type EtcdNodeList

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

EtcdNodeList contains a list of EtcdNode

func (*EtcdNodeList) DeepCopy

func (in *EtcdNodeList) DeepCopy() *EtcdNodeList

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

func (*EtcdNodeList) DeepCopyInto

func (in *EtcdNodeList) DeepCopyInto(out *EtcdNodeList)

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

func (*EtcdNodeList) DeepCopyObject

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

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

type EtcdNodePhase

type EtcdNodePhase string

EtcdNodePhase is a label for the phase of the etcd cluster at the current time. +kubebuilder:validation:Enum=Creating;Provisioned;Running;Deleting;Error

const (
	// EtcdNodePhaseCreating means the etcd node is being created.
	EtcdNodePhaseCreating EtcdNodePhase = "Creating"
	// EtcdNodePhaseProvisioned means the etcd node was provisioned and waiting to become running.
	EtcdNodePhaseProvisioned EtcdNodePhase = "Provisioned"
	// EtcdNodePhaseRunning means the etcd node is running.
	EtcdNodePhaseRunning EtcdNodePhase = "Running"
	// EtcdNodePhaseDeleting means the etcd node is being deleted.
	EtcdNodePhaseDeleting EtcdNodePhase = "Deleting"
	// EtcdNodePhaseError means the etcd node is in error state.
	EtcdNodePhaseError EtcdNodePhase = "Error"
)

type EtcdNodeSet

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

	Spec   EtcdNodeSetSpec   `json:"spec,omitempty"`
	Status EtcdNodeSetStatus `json:"status,omitempty"`
}

EtcdNodeSet is the Schema for the etcdnodesets API

func (*EtcdNodeSet) DeepCopy

func (in *EtcdNodeSet) DeepCopy() *EtcdNodeSet

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

func (*EtcdNodeSet) DeepCopyInto

func (in *EtcdNodeSet) DeepCopyInto(out *EtcdNodeSet)

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

func (*EtcdNodeSet) DeepCopyObject

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

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

type EtcdNodeSetList

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

EtcdNodeSetList contains a list of EtcdNodeSet

func (*EtcdNodeSetList) DeepCopy

func (in *EtcdNodeSetList) DeepCopy() *EtcdNodeSetList

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

func (*EtcdNodeSetList) DeepCopyInto

func (in *EtcdNodeSetList) DeepCopyInto(out *EtcdNodeSetList)

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

func (*EtcdNodeSetList) DeepCopyObject

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

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

type EtcdNodeSetSpec

type EtcdNodeSetSpec struct {
	// Replicas is the number of desired replicas.
	// This is a pointer to distinguish between explicit zero and unspecified.
	// Defaults to 1.
	//+kubebuilder:default=1
	Replicas *int32 `json:"replicas,omitempty"`

	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// Template is the object that describes the EtcdNode that will be created if insufficient replicas are detected.
	Template EtcdNodeTemplateSpec `json:"template,omitempty"`
}

EtcdNodeSetSpec defines the desired state of EtcdNodeSet

func (*EtcdNodeSetSpec) DeepCopy

func (in *EtcdNodeSetSpec) DeepCopy() *EtcdNodeSetSpec

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

func (*EtcdNodeSetSpec) DeepCopyInto

func (in *EtcdNodeSetSpec) DeepCopyInto(out *EtcdNodeSetSpec)

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

type EtcdNodeSetStatus

type EtcdNodeSetStatus struct {
	// Replicas is the most recently observed number of replicas.
	//+kubebuilder:validation:Minimum=0
	Replicas int32 `json:"replicas,omitempty"`

	// ActiveReplicas is the number of EtcdNodes targeted by this EtcdNodeSet.
	//+kubebuilder:validation:Minimum=0
	ActiveReplicas int32 `json:"activeReplicas,omitempty"`

	// ReadyReplicas is the number of EtcdNodes targeted by this EtcdNodeSet with a Ready Condition.
	//+kubebuilder:validation:Minimum=0
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// AvailableReplicas is the number of EtcdNodes targeted by this EtcdNodeSet
	//+kubebuilder:validation:Minimum=0
	AvailableReplicas int32 `json:"availableReplicas,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed EtcdNodeSet.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

EtcdNodeSetStatus defines the observed state of EtcdNodeSet

func (*EtcdNodeSetStatus) DeepCopy

func (in *EtcdNodeSetStatus) DeepCopy() *EtcdNodeSetStatus

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

func (*EtcdNodeSetStatus) DeepCopyInto

func (in *EtcdNodeSetStatus) DeepCopyInto(out *EtcdNodeSetStatus)

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

type EtcdNodeSpec

type EtcdNodeSpec struct {
	// Version is the desired version of the etcd cluster.
	Version string `json:"version"`

	// ImagePersistentVolumeClaimRef is a local reference to a PersistentVolumeClaim that is used as an ephemeral volume
	// to boot VirtualMachines.
	ImagePersistentVolumeClaimRef corev1.LocalObjectReference `json:"imagePersistentVolumeClaimRef"`

	// LoginPasswordSecretKeySelector is a selector for a Secret key that holds a password used as a login password of
	// virtual machines.
	LoginPasswordSecretKeySelector *corev1.SecretKeySelector `json:"loginPasswordSecretKeySelector,omitempty"`

	// CACertificateRef is a reference to a Secret key that composes a CA certificate.
	CACertificateRef corev1.SecretKeySelector `json:"caCertificateRef"`
	// CAPrivateKeyRef is a reference to a Secret key that composes a CA private key.
	CAPrivateKeyRef corev1.SecretKeySelector `json:"caPrivateKeyRef"`

	// ClientCertificateRef is a reference to a Secret key that composes a Client certificate.
	ClientCertificateRef corev1.SecretKeySelector `json:"clientCertificateRef,omitempty"`
	// ClientPrivateKeyRef is a reference to a Secret key that composes a Client private key.
	ClientPrivateKeyRef corev1.SecretKeySelector `json:"clientPrivateKeyRef,omitempty"`

	// SSHPrivateKeyRef is a reference to a Secret key that composes an SSH private key.
	SSHPrivateKeyRef corev1.SecretKeySelector `json:"sshPrivateKeyRef"`
	// SSHPublicKeyRef is a reference to a Secret key that composes an SSH public key.
	SSHPublicKeyRef corev1.SecretKeySelector `json:"sshPublicKeyRef"`

	// ServiceRef is a reference to a Service of an etcd cluster.
	ServiceRef corev1.LocalObjectReference `json:"serviceRef"`

	// AsFirstNode is whether the node is the first node of a cluster.
	AsFirstNode bool `json:"asFirstNode"`
}

EtcdNodeSpec defines the desired state of EtcdNode

func (*EtcdNodeSpec) DeepCopy

func (in *EtcdNodeSpec) DeepCopy() *EtcdNodeSpec

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

func (*EtcdNodeSpec) DeepCopyInto

func (in *EtcdNodeSpec) DeepCopyInto(out *EtcdNodeSpec)

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

type EtcdNodeStatus

type EtcdNodeStatus struct {
	// Phase indicates phase of the etcd node.
	//+kubebuilder:default=Creating
	Phase EtcdNodePhase `json:"phase"`

	// UserDataRef is a reference to a Secret that contains a userdata used to start a virtual machine instance.
	UserDataRef *corev1.LocalObjectReference `json:"userDataRef,omitempty"`
	// VirtualMachineInstanceRef is a reference to a VirtualMachineInstance that composes an etcd node.
	VirtualMachineInstanceRef *corev1.LocalObjectReference `json:"virtualMachineInstanceRef,omitempty"`
	// PeerServiceRef is a reference to a Service of an etcd node.
	PeerServiceRef *corev1.LocalObjectReference `json:"peerServiceRef,omitempty"`

	// Conditions is a list of statuses respected to certain conditions.
	Conditions []EtcdNodeCondition `json:"conditions,omitempty"`
}

EtcdNodeStatus defines the observed state of EtcdNode

func (*EtcdNodeStatus) DeepCopy

func (in *EtcdNodeStatus) DeepCopy() *EtcdNodeStatus

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

func (*EtcdNodeStatus) DeepCopyInto

func (in *EtcdNodeStatus) DeepCopyInto(out *EtcdNodeStatus)

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

func (*EtcdNodeStatus) IsMemberFinalized

func (status *EtcdNodeStatus) IsMemberFinalized() bool

func (*EtcdNodeStatus) IsProvisioned

func (status *EtcdNodeStatus) IsProvisioned() bool

func (*EtcdNodeStatus) IsReady

func (status *EtcdNodeStatus) IsReady() bool

func (*EtcdNodeStatus) IsReadyOnce

func (status *EtcdNodeStatus) IsReadyOnce() bool

func (*EtcdNodeStatus) LastReadyProbeTime

func (status *EtcdNodeStatus) LastReadyProbeTime() *metav1.Time

func (*EtcdNodeStatus) ReadySinceTime

func (status *EtcdNodeStatus) ReadySinceTime() *metav1.Time

func (*EtcdNodeStatus) WithMemberFinalized

func (status *EtcdNodeStatus) WithMemberFinalized(
	leftFromCluster bool,
	message string,
) *EtcdNodeStatus

func (*EtcdNodeStatus) WithProvisioned

func (status *EtcdNodeStatus) WithProvisioned(
	provisioned bool,
	message string,
) *EtcdNodeStatus

func (*EtcdNodeStatus) WithReady

func (status *EtcdNodeStatus) WithReady(
	ready bool,
	message string,
) *EtcdNodeStatus

func (*EtcdNodeStatus) WithStatusCondition

func (status *EtcdNodeStatus) WithStatusCondition(
	conditionType EtcdNodeConditionType,
	ready bool,
	message string,
) *EtcdNodeStatus

type EtcdNodeTemplateSpec

type EtcdNodeTemplateSpec struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the EtcdNode.
	Spec EtcdNodeSpec `json:"spec,omitempty"`
}

func (*EtcdNodeTemplateSpec) DeepCopy

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

func (*EtcdNodeTemplateSpec) DeepCopyInto

func (in *EtcdNodeTemplateSpec) DeepCopyInto(out *EtcdNodeTemplateSpec)

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

type EtcdPhase

type EtcdPhase string

EtcdPhase is a label for the phase of the etcd cluster at the current time. +kubebuilder:validation:Enum=Creating;Running;Deleting;Error

const (
	// EtcdPhaseCreating means the etcd cluster is being created.
	EtcdPhaseCreating EtcdPhase = "Creating"
	// EtcdPhaseRunning means the etcd cluster is running.
	EtcdPhaseRunning EtcdPhase = "Running"
	// EtcdPhaseDeleting means the etcd cluster is being deleted.
	EtcdPhaseDeleting EtcdPhase = "Deleting"
	// EtcdPhaseError means the etcd cluster is in error state.
	EtcdPhaseError EtcdPhase = "Error"
)

type EtcdSpec

type EtcdSpec struct {
	// Version is the desired version of the etcd cluster.
	Version *string `json:"version,omitempty"`

	// Replicas is the desired number of etcd replicas.
	//+kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas,omitempty"`

	// ImagePersistentVolumeClaimRef is a local reference to a PersistentVolumeClaim that is used as an ephemeral volume
	// to boot VirtualMachines.
	ImagePersistentVolumeClaimRef corev1.LocalObjectReference `json:"imagePersistentVolumeClaimRef"`

	// LoginPasswordSecretKeySelector is a selector for a Secret key that holds a password used as a login password of
	// virtual machines.
	LoginPasswordSecretKeySelector *corev1.SecretKeySelector `json:"loginPasswordSecretKeySelector,omitempty"`
}

EtcdSpec defines the desired state of Etcd

func (*EtcdSpec) DeepCopy

func (in *EtcdSpec) DeepCopy() *EtcdSpec

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

func (*EtcdSpec) DeepCopyInto

func (in *EtcdSpec) DeepCopyInto(out *EtcdSpec)

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

type EtcdStatus

type EtcdStatus struct {
	// Phase indicates phase of the etcd cluster.
	//+kubebuilder:default=Creating
	Phase EtcdPhase `json:"phase"`

	// CACertificateRef is a reference to a Secret key that composes a CA certificate.
	CACertificateRef *corev1.SecretKeySelector `json:"caCertificateRef,omitempty"`
	// CAPrivateKeyRef is a reference to a Secret key that composes a CA private key.
	CAPrivateKeyRef *corev1.SecretKeySelector `json:"caPrivateKeyRef,omitempty"`
	// ClientCertificateRef is a reference to a Secret key that composes a Client certificate.
	ClientCertificateRef *corev1.SecretKeySelector `json:"clientCertificateRef,omitempty"`
	// ClientPrivateKeyRef is a reference to a Secret key that composes a Client private key.
	ClientPrivateKeyRef *corev1.SecretKeySelector `json:"clientPrivateKeyRef,omitempty"`
	// PeerCertificateRef is a reference to a Secret key that composes a certificate for peer communication.
	PeerCertificateRef *corev1.SecretKeySelector `json:"peerCertificateRef,omitempty"`
	// PeerPrivateKeyRef is a reference to a Secret key that composes a peer private key for peer communication.
	PeerPrivateKeyRef *corev1.SecretKeySelector `json:"peerPrivateKeyRef,omitempty"`
	// SSHPrivateKeyRef is a reference to a Secret key that composes an SSH private key.
	SSHPrivateKeyRef *corev1.SecretKeySelector `json:"sshPrivateKeyRef,omitempty"`
	// SSHPublicKeyRef is a reference to a Secret key that composes an SSH public key.
	SSHPublicKeyRef *corev1.SecretKeySelector `json:"sshPublicKeyRef,omitempty"`
	// ServiceRef is a reference to a Service of an etcd cluster.
	ServiceRef *corev1.LocalObjectReference `json:"serviceRef,omitempty"`
	// EndpointSliceRef is a reference to an EndpointSlice of an etcd cluster.
	EndpointSliceRef *corev1.LocalObjectReference `json:"endpointSliceRef,omitempty"`

	// The generation observed by the EtcdNodeDeployment controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Replicas is the current number of EtcdNode replicas.
	//+kubebuilder:default=0
	Replicas int32 `json:"replicas,omitempty"`

	// Total number of ready EtcdNode targeted by this EtcdNodeDeployment.
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// Conditions is a list of statuses respected to certain conditions.
	Conditions []EtcdCondition `json:"conditions,omitempty"`
}

EtcdStatus defines the observed state of Etcd

func (*EtcdStatus) AreMembersHealthy

func (status *EtcdStatus) AreMembersHealthy() bool

func (*EtcdStatus) DeepCopy

func (in *EtcdStatus) DeepCopy() *EtcdStatus

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

func (*EtcdStatus) DeepCopyInto

func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus)

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

func (*EtcdStatus) IsReady

func (status *EtcdStatus) IsReady() bool

func (*EtcdStatus) IsReadyOnce

func (status *EtcdStatus) IsReadyOnce() bool

func (*EtcdStatus) LastReadyProbeTime

func (status *EtcdStatus) LastReadyProbeTime() *metav1.Time

func (*EtcdStatus) WithMembersHealthy

func (status *EtcdStatus) WithMembersHealthy(
	ready bool,
	message string,
) *EtcdStatus

func (*EtcdStatus) WithReady

func (status *EtcdStatus) WithReady(
	ready bool,
	message string,
) *EtcdStatus

func (*EtcdStatus) WithStatusCondition

func (status *EtcdStatus) WithStatusCondition(
	conditionType EtcdConditionType,
	ready bool,
	message string,
) *EtcdStatus

type KubernetesimalConfig

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

	// ControllerManagerConfigurationSpec returns the contfigurations for controllers
	cfg.ControllerManagerConfigurationSpec `json:",inline"`

	Tracing ControllerTracing `json:"tracing,omitempty"`
}

KubernetesimalConfig is the Schema for the kubernetesimalconfigs API

func (*KubernetesimalConfig) DeepCopy

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

func (*KubernetesimalConfig) DeepCopyInto

func (in *KubernetesimalConfig) DeepCopyInto(out *KubernetesimalConfig)

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

func (*KubernetesimalConfig) DeepCopyObject

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

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

type RollingUpdateEtcdNodeDeployment

type RollingUpdateEtcdNodeDeployment struct {
	// The maximum number of pods that can be unavailable during the update.
	// Value can be an absolute number (ex: 5) or a percentage of total pods at the start of update (ex: 10%).
	// Absolute number is calculated from percentage by rounding down.
	// This can not be 0 if MaxSurge is 0.
	// By default, a fixed value of 1 is used.
	// Example: when this is set to 30%, the old RC can be scaled down by 30%
	// immediately when the rolling update starts. Once new pods are ready, old RC
	// can be scaled down further, followed by scaling up the new RC, ensuring
	// that at least 70% of original number of pods are available at all times
	// during the update.
	//+kubebuilder:default="25%"
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`

	// The maximum number of pods that can be scheduled above the original number of
	// pods.
	// Value can be an absolute number (ex: 5) or a percentage of total pods at
	// the start of the update (ex: 10%). This can not be 0 if MaxUnavailable is 0.
	// Absolute number is calculated from percentage by rounding up.
	// By default, a value of 1 is used.
	// Example: when this is set to 30%, the new RC can be scaled up by 30%
	// immediately when the rolling update starts. Once old pods have been killed,
	// new RC can be scaled up further, ensuring that total number of pods running
	// at any time during the update is at most 130% of original pods.
	//+kubebuilder:default="25%"
	MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`
}

RollingUpdateEtcdNodeDeployment is the spec to control the desired behavior of rolling update.

func (*RollingUpdateEtcdNodeDeployment) DeepCopy

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

func (*RollingUpdateEtcdNodeDeployment) DeepCopyInto

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