v1alpha1

package
v0.0.0-...-af52fa7 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the etcd v1alpha1 API group +kubebuilder:object:generate=true +groupName=etcd.improbable.io

Index

Constants

View Source
const (

	// EtcdBackupReasonSucceeded is the event generated after a successful backup.
	EtcdBackupReasonSucceeded = "BackupSucceeded"
	// EtcdBackupReasonFailed is the event generated after a failed backup
	EtcdBackupReasonFailed = "BackupFailed"
)

Variables

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

func IsInvalidUserProvidedAnnotationName

func IsInvalidUserProvidedAnnotationName(annotationName string) bool

IsInvalidUserProvidedAnnotation tests to see if the given annotation name is one reserved by the operator

Types

type Bootstrap

type Bootstrap struct {
	// Static boostrapping requires that we know the network names of the
	// other peers ahead of time.
	// +optional
	Static *StaticBootstrap `json:"static,omitempty"`

	// This is passed through directly to the underlying etcd instance as the `ETCD_INITIAL_CLUSTER_STATE` envvar or
	// `--initial-cluster-state` flag. Like all bootstrap instructions, this is ignored if the data directory already
	// exists, which for us is if an underlying persistent volume already exists.
	//
	// When peers are created during bootstrapping of a new cluster this should be set to `New`. When adding peers to
	// an existing cluster during a scale-up event this should be set to `Existing`.
	InitialClusterState InitialClusterState `json:"initialClusterState"`
}

Bootstrap contains bootstrap infromation for the peer to use.

func (*Bootstrap) DeepCopy

func (in *Bootstrap) DeepCopy() *Bootstrap

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

func (*Bootstrap) DeepCopyInto

func (in *Bootstrap) DeepCopyInto(out *Bootstrap)

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

type EtcdBackup

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

	Spec   EtcdBackupSpec   `json:"spec,omitempty"`
	Status EtcdBackupStatus `json:"status,omitempty"`
}

EtcdBackup is the Schema for the etcdbackups API

func (*EtcdBackup) DeepCopy

func (in *EtcdBackup) DeepCopy() *EtcdBackup

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

func (*EtcdBackup) DeepCopyInto

func (in *EtcdBackup) DeepCopyInto(out *EtcdBackup)

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

func (*EtcdBackup) DeepCopyObject

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

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

type EtcdBackupDestination

type EtcdBackupDestination struct {
	// ObjectURLTemplate is a URL of a file of a backup in object storage.
	//
	// It *MAY* contain go-template style template fields.
	// The fields *MUST* match fields the EtcdBackup resource.
	// For example:
	//  s3://example-bucket/snapshot.db
	//  s3://example-bucket/{{ .Namespace }}/{{ .Name }}/{{ .CreationTimestamp }}/snapshot.db
	//
	// You *SHOULD* include template fields if the URL will be used in an EtcdBackupSchedule,
	// to ensure that every backup has a unique name.
	// For example:
	//  s3://example-bucket/snapshot-{{ .UID }}.db
	//
	// The scheme of this URL should be gs:// or s3://.
	ObjectURLTemplate string `json:"objectURLTemplate"`
}

EtcdBackupDestination holds a storage location where an etcd backup will be placed.

func (*EtcdBackupDestination) DeepCopy

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

func (*EtcdBackupDestination) DeepCopyInto

func (in *EtcdBackupDestination) DeepCopyInto(out *EtcdBackupDestination)

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

type EtcdBackupList

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

EtcdBackupList contains a list of EtcdBackup

func (*EtcdBackupList) DeepCopy

func (in *EtcdBackupList) DeepCopy() *EtcdBackupList

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

func (*EtcdBackupList) DeepCopyInto

func (in *EtcdBackupList) DeepCopyInto(out *EtcdBackupList)

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

func (*EtcdBackupList) DeepCopyObject

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

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

type EtcdBackupPhase

type EtcdBackupPhase string
var (
	EtcdBackupPhaseBackingUp EtcdBackupPhase = "BackingUp"
	EtcdBackupPhaseCompleted EtcdBackupPhase = "Completed"
	EtcdBackupPhaseFailed    EtcdBackupPhase = "Failed"
)

type EtcdBackupSchedule

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

	Spec   EtcdBackupScheduleSpec   `json:"spec,omitempty"`
	Status EtcdBackupScheduleStatus `json:"status,omitempty"`
}

EtcdBackupSchedule is the Schema for the etcdbackupschedules API

func (*EtcdBackupSchedule) DeepCopy

func (in *EtcdBackupSchedule) DeepCopy() *EtcdBackupSchedule

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

func (*EtcdBackupSchedule) DeepCopyInto

func (in *EtcdBackupSchedule) DeepCopyInto(out *EtcdBackupSchedule)

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

func (*EtcdBackupSchedule) DeepCopyObject

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

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

type EtcdBackupScheduleList

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

EtcdBackupScheduleList contains a list of EtcdBackupSchedule

func (*EtcdBackupScheduleList) DeepCopy

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

func (*EtcdBackupScheduleList) DeepCopyInto

func (in *EtcdBackupScheduleList) DeepCopyInto(out *EtcdBackupScheduleList)

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

func (*EtcdBackupScheduleList) DeepCopyObject

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

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

type EtcdBackupScheduleSpec

type EtcdBackupScheduleSpec struct {
	// Schedule holds a crontab-like scheule holding defining the schedule in which backups will be started.
	Schedule string `json:"schedule"`
	// BackupTemplate describes the template used to create backup resources. Every time the schedule fires
	// an `EtcdBackup' will be created with this template.
	BackupTemplate EtcdBackupSpec `json:"backupTemplate"`
}

EtcdBackupScheduleSpec defines the desired state of EtcdBackupSchedule

func (*EtcdBackupScheduleSpec) DeepCopy

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

func (*EtcdBackupScheduleSpec) DeepCopyInto

func (in *EtcdBackupScheduleSpec) DeepCopyInto(out *EtcdBackupScheduleSpec)

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

type EtcdBackupScheduleStatus

type EtcdBackupScheduleStatus struct {
}

EtcdBackupScheduleStatus defines the observed state of EtcdBackupSchedule

func (*EtcdBackupScheduleStatus) DeepCopy

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

func (*EtcdBackupScheduleStatus) DeepCopyInto

func (in *EtcdBackupScheduleStatus) DeepCopyInto(out *EtcdBackupScheduleStatus)

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

type EtcdBackupSource

type EtcdBackupSource struct {
	// ClusterURL is a URL endpoint for a single Etcd server.
	// The etcd-cluster-operator backup-agent connects to this endpoint,
	// downloads a snapshot from remote etcd server and uploads the data to
	// EtcdBackup.Destination.ObjectURLTemplate.
	// The Etcd Snapshot API works with a single selected node, and the saved
	// snapshot is the point-in-time state of that selected node.
	// See https://github.com/etcd-io/etcd/blob/v3.4.4/clientv3/snapshot/v3_snapshot.go#L53
	ClusterURL string `json:"clusterURL"`
}

func (*EtcdBackupSource) DeepCopy

func (in *EtcdBackupSource) DeepCopy() *EtcdBackupSource

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

func (*EtcdBackupSource) DeepCopyInto

func (in *EtcdBackupSource) DeepCopyInto(out *EtcdBackupSource)

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

type EtcdBackupSpec

type EtcdBackupSpec struct {
	// Source describes the cluster to be backed up.
	Source EtcdBackupSource `json:"source"`
	// Destination is the remote location where the backup will be placed.
	Destination EtcdBackupDestination `json:"destination"`
}

EtcdBackupSpec defines the desired state of EtcdBackup

func (*EtcdBackupSpec) DeepCopy

func (in *EtcdBackupSpec) DeepCopy() *EtcdBackupSpec

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

func (*EtcdBackupSpec) DeepCopyInto

func (in *EtcdBackupSpec) DeepCopyInto(out *EtcdBackupSpec)

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

type EtcdBackupStatus

type EtcdBackupStatus struct {
	// Phase defines the current operation that the backup process is taking.
	Phase EtcdBackupPhase `json:"phase,omitempty"`
	// StartTime is the times that this backup entered the `BackingUp' phase.
	// +optional
	StartTime *metav1.Time `json:"startTime,omitempty"`
	// CompletionTime is the time that this backup entered the `Completed' phase.
	// +optional
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

EtcdBackupStatus defines the observed state of EtcdBackup

func (*EtcdBackupStatus) DeepCopy

func (in *EtcdBackupStatus) DeepCopy() *EtcdBackupStatus

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

func (*EtcdBackupStatus) DeepCopyInto

func (in *EtcdBackupStatus) DeepCopyInto(out *EtcdBackupStatus)

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

type EtcdCluster

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

	Spec   EtcdClusterSpec   `json:"spec,omitempty"`
	Status EtcdClusterStatus `json:"status,omitempty"`
}

EtcdCluster is the Schema for the etcdclusters API

func (*EtcdCluster) DeepCopy

func (in *EtcdCluster) DeepCopy() *EtcdCluster

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

func (*EtcdCluster) DeepCopyInto

func (in *EtcdCluster) DeepCopyInto(out *EtcdCluster)

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

func (*EtcdCluster) DeepCopyObject

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

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

func (*EtcdCluster) Default

func (o *EtcdCluster) Default()

Default sets default values for optional EtcdPeer fields. This is used in webhooks and in the Reconciler to ensure that nil pointers have been replaced with concrete pointers. This avoids nil pointer panics later on.

func (*EtcdCluster) ValidateCreate

func (o *EtcdCluster) ValidateCreate() error

ValidateCreate validates that all required fields are present and valid.

func (*EtcdCluster) ValidateDelete

func (o *EtcdCluster) ValidateDelete() error

ValidateCreate validates that deletion is allowed TODO: Not yet implemented

func (*EtcdCluster) ValidateUpdate

func (o *EtcdCluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate validates that only supported fields are changed

type EtcdClusterList

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

EtcdClusterList contains a list of EtcdCluster

func (*EtcdClusterList) DeepCopy

func (in *EtcdClusterList) DeepCopy() *EtcdClusterList

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

func (*EtcdClusterList) DeepCopyInto

func (in *EtcdClusterList) DeepCopyInto(out *EtcdClusterList)

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

func (*EtcdClusterList) DeepCopyObject

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

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

type EtcdClusterSpec

type EtcdClusterSpec struct {
	// Version determines the version of Etcd that will be used for this cluster.
	// +kubebuilder:validation:Required
	Version string `json:"version"`

	// Number of instances of etcd to assemble into this cluster
	//+kubebuilder:validation:Required
	//+kubebuilder:validation:Minimum=1
	Replicas *int32 `json:"replicas"`

	// Storage is the configuration of the disks and mount points of the Etcd
	// peers.
	Storage *EtcdPeerStorage `json:"storage,omitempty"`

	// PodTemplate describes metadata that should be applied to the underlying Pods. This may not be applied verbatim,
	// as additional metadata may be added by the operator. In particular the operator reserves label and annotation
	// names starting with `etcd.improbable.io`, and pod templates containing these are considered invalid and will be
	// rejected.
	// +optional
	PodTemplate *EtcdPodTemplateSpec `json:"podTemplate,omitempty"`
}

EtcdClusterSpec defines the desired state of EtcdCluster

func (*EtcdClusterSpec) DeepCopy

func (in *EtcdClusterSpec) DeepCopy() *EtcdClusterSpec

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

func (*EtcdClusterSpec) DeepCopyInto

func (in *EtcdClusterSpec) DeepCopyInto(out *EtcdClusterSpec)

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

type EtcdClusterStatus

type EtcdClusterStatus struct {
	// Replicas is the number of etcd peer resources we are managing. This doesn't mean the number of pods that exist
	// (as we may have just created a peer resource that doesn't have a pod yet, or the pod could be restarting), and it
	// doesn't mean the number of members the etcd cluster has live, as pods may not be ready yet or network problems
	// may mean the cluster has lost a member.
	// +optional
	Replicas int32 `json:"replicas"`

	// Members contains information about each member from the etcd cluster.
	// +optional
	Members []EtcdMember `json:"members"`

	// ClusterVersion contains the cluster API version
	// +optional
	ClusterVersion string `json:"clusterVersion"`
}

EtcdClusterStatus defines the observed state of EtcdCluster

func (*EtcdClusterStatus) DeepCopy

func (in *EtcdClusterStatus) DeepCopy() *EtcdClusterStatus

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

func (*EtcdClusterStatus) DeepCopyInto

func (in *EtcdClusterStatus) DeepCopyInto(out *EtcdClusterStatus)

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

type EtcdClusterTemplate

type EtcdClusterTemplate struct {
	// ClusterName is the name of the EtcdCluster that will be created by this operation.
	ClusterName string `json:"clusterName"`

	// Spec is the specification of the cluster that will be created by this operation.
	Spec EtcdClusterSpec `json:"spec"`
}

A template to define the cluster we'll make. The namespace will be the same as this restore resource.

func (*EtcdClusterTemplate) DeepCopy

func (in *EtcdClusterTemplate) DeepCopy() *EtcdClusterTemplate

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

func (*EtcdClusterTemplate) DeepCopyInto

func (in *EtcdClusterTemplate) DeepCopyInto(out *EtcdClusterTemplate)

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

type EtcdMember

type EtcdMember struct {
	// Name is a human-readable name for the member. Will *typically* match the name we gave the peer that manages this
	// member.
	Name string `json:"name"`

	// ID is the internal unique identifier for the member that defines its identity with the etcd cluster. We do not
	// define this.
	ID string `json:"id"`
}

func (*EtcdMember) DeepCopy

func (in *EtcdMember) DeepCopy() *EtcdMember

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

func (*EtcdMember) DeepCopyInto

func (in *EtcdMember) DeepCopyInto(out *EtcdMember)

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

type EtcdPeer

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

	Spec   EtcdPeerSpec   `json:"spec,omitempty"`
	Status EtcdPeerStatus `json:"status,omitempty"`
}

EtcdPeer is the Schema for the etcdpeers API

func (*EtcdPeer) DeepCopy

func (in *EtcdPeer) DeepCopy() *EtcdPeer

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

func (*EtcdPeer) DeepCopyInto

func (in *EtcdPeer) DeepCopyInto(out *EtcdPeer)

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

func (*EtcdPeer) DeepCopyObject

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

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

func (*EtcdPeer) Default

func (o *EtcdPeer) Default()

Default sets default values for optional EtcdPeer fields. This is used in webhooks and in the Reconciler to ensure that nil pointers have been replaced with concrete pointers. This avoids nil pointer panics later on.

func (*EtcdPeer) ValidateCreate

func (o *EtcdPeer) ValidateCreate() error

ValidateCreate validates that all required fields are present and valid.

func (*EtcdPeer) ValidateDelete

func (o *EtcdPeer) ValidateDelete() error

ValidateCreate validates that deletion is allowed TODO: Not yet implemented

func (*EtcdPeer) ValidateUpdate

func (o *EtcdPeer) ValidateUpdate(old runtime.Object) error

ValidateUpdate validates that only supported fields are changed

type EtcdPeerList

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

EtcdPeerList contains a list of EtcdPeer

func (*EtcdPeerList) DeepCopy

func (in *EtcdPeerList) DeepCopy() *EtcdPeerList

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

func (*EtcdPeerList) DeepCopyInto

func (in *EtcdPeerList) DeepCopyInto(out *EtcdPeerList)

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

func (*EtcdPeerList) DeepCopyObject

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

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

type EtcdPeerSpec

type EtcdPeerSpec struct {
	// The name of the etcd cluster that this peer should join. This will be
	// used to set the `spec.subdomain` field and the
	// `etcd.improbable.io/cluster-name` label on the Pod running etcd.
	// +kubebuilder:validation:MaxLength:=64
	ClusterName string `json:"clusterName"`

	// Version determines the version of Etcd that will be used for this peer.
	// +kubebuilder:validation:Required
	Version string `json:"version"`

	// Bootstrap is the bootstrap configuration to pass down into the etcd
	// pods. As per the etcd documentation, etcd will ignore bootstrap
	// instructions if it already knows where it's peers are.
	// +optional
	Bootstrap *Bootstrap `json:"bootstrap,omitempty"`

	// Storage is the configuration of the disks and mount points of the Etcd
	// pod.
	Storage *EtcdPeerStorage `json:"storage,omitempty"`

	// PodTemplate describes metadata that should be applied to the underlying Pods. This may not be applied verbatim,
	// as additional metadata may be added by the operator. In particular the operator reserves label and annotation
	// names starting with `etcd.improbable.io`, and pod templates containing these are considered invalid and will be
	// rejected.
	PodTemplate *EtcdPodTemplateSpec `json:"podTemplate,omitempty"`
}

EtcdPeerSpec defines the desired state of EtcdPeer

func (*EtcdPeerSpec) DeepCopy

func (in *EtcdPeerSpec) DeepCopy() *EtcdPeerSpec

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

func (*EtcdPeerSpec) DeepCopyInto

func (in *EtcdPeerSpec) DeepCopyInto(out *EtcdPeerSpec)

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

type EtcdPeerStatus

type EtcdPeerStatus struct {
	// ServerVersion contains the Member server version
	ServerVersion string `json:"serverVersion"`
}

EtcdPeerStatus defines the observed state of EtcdPeer

func (*EtcdPeerStatus) DeepCopy

func (in *EtcdPeerStatus) DeepCopy() *EtcdPeerStatus

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

func (*EtcdPeerStatus) DeepCopyInto

func (in *EtcdPeerStatus) DeepCopyInto(out *EtcdPeerStatus)

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

type EtcdPeerStorage

type EtcdPeerStorage struct {
	// VolumeClaimTemplates is a claim that pods are allowed to reference.
	// The EtcdPeer controller will create a new PersistentVolumeClaim using the
	// StorageClass and the Storage Resource Request in this template.
	// That PVC will then be mounted in the Pod for this EtcdPeer and the Etcd
	// process when it starts will persist its data to the PV bound to that PVC.
	VolumeClaimTemplate *corev1.PersistentVolumeClaimSpec `json:"volumeClaimTemplate,omitempty"`
}

EtcdPeerStorage defines the desired storage for an EtcdPeer

func (*EtcdPeerStorage) DeepCopy

func (in *EtcdPeerStorage) DeepCopy() *EtcdPeerStorage

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

func (*EtcdPeerStorage) DeepCopyInto

func (in *EtcdPeerStorage) DeepCopyInto(out *EtcdPeerStorage)

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

type EtcdPodTemplateObjectMeta

type EtcdPodTemplateObjectMeta struct {

	// Annotations are an unstructured string:string map of annotations to be applied to the underlying pods.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

EtcdPodTemplateObjectMeta supports a subset of the features of a normal ObjectMeta. In particular the ones we allow.

func (*EtcdPodTemplateObjectMeta) DeepCopy

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

func (*EtcdPodTemplateObjectMeta) DeepCopyInto

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

type EtcdPodTemplateSpec

type EtcdPodTemplateSpec struct {

	// Metadata is elements to be applied to the final metadata of the underlying pods.
	// +optional
	Metadata *EtcdPodTemplateObjectMeta `json:"metadata,omitempty"`

	// Resources is for configuring the compute resources required by the etcd container. More info:
	// https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
	// +optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`

	// Affinity is the affinity scheduling rules to be applied to the underlying pods.
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`
}

EtcdPodTemplateSpec supports a subset of a normal `v1/PodTemplateSpec` that the operator explicitly permits. We don't want to allow a user to set arbitrary features on our underlying pods.

func (*EtcdPodTemplateSpec) DeepCopy

func (in *EtcdPodTemplateSpec) DeepCopy() *EtcdPodTemplateSpec

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

func (*EtcdPodTemplateSpec) DeepCopyInto

func (in *EtcdPodTemplateSpec) DeepCopyInto(out *EtcdPodTemplateSpec)

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

type EtcdRestore

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

	Spec   EtcdRestoreSpec   `json:"spec,omitempty"`
	Status EtcdRestoreStatus `json:"status,omitempty"`
}

EtcdRestore is the Schema for the etcdrestores API

func (*EtcdRestore) DeepCopy

func (in *EtcdRestore) DeepCopy() *EtcdRestore

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

func (*EtcdRestore) DeepCopyInto

func (in *EtcdRestore) DeepCopyInto(out *EtcdRestore)

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

func (*EtcdRestore) DeepCopyObject

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

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

type EtcdRestoreList

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

EtcdRestoreList contains a list of EtcdRestore

func (*EtcdRestoreList) DeepCopy

func (in *EtcdRestoreList) DeepCopy() *EtcdRestoreList

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

func (*EtcdRestoreList) DeepCopyInto

func (in *EtcdRestoreList) DeepCopyInto(out *EtcdRestoreList)

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

func (*EtcdRestoreList) DeepCopyObject

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

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

type EtcdRestorePhase

type EtcdRestorePhase string
var (
	EtcdRestorePhasePending   EtcdRestorePhase = "Pending"
	EtcdRestorePhaseFailed    EtcdRestorePhase = "Failed"
	EtcdRestorePhaseCompleted EtcdRestorePhase = "Completed"
)

type EtcdRestoreSource

type EtcdRestoreSource struct {
	// ObjectURL is a URL of a file of a backup in object storage.
	// The scheme of this URL should be gs:// or s3://.
	ObjectURL string `json:"objectURL"`
}

func (*EtcdRestoreSource) DeepCopy

func (in *EtcdRestoreSource) DeepCopy() *EtcdRestoreSource

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

func (*EtcdRestoreSource) DeepCopyInto

func (in *EtcdRestoreSource) DeepCopyInto(out *EtcdRestoreSource)

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

type EtcdRestoreSpec

type EtcdRestoreSpec struct {
	// Source describes the location the backup is pulled from
	Source EtcdRestoreSource `json:"source"`

	// ClusterTemplate describes the EtcdCluster that will eventually exist
	ClusterTemplate EtcdClusterTemplate `json:"clusterTemplate"`
}

EtcdRestoreSpec defines the desired state of EtcdRestore

func (*EtcdRestoreSpec) DeepCopy

func (in *EtcdRestoreSpec) DeepCopy() *EtcdRestoreSpec

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

func (*EtcdRestoreSpec) DeepCopyInto

func (in *EtcdRestoreSpec) DeepCopyInto(out *EtcdRestoreSpec)

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

type EtcdRestoreStatus

type EtcdRestoreStatus struct {
	// Phase is what the restore is doing last time it was checked. The possible end states are "Failed" and
	// "Completed".
	Phase EtcdRestorePhase `json:"phase,omitempty"`
}

EtcdRestoreStatus defines the observed state of EtcdRestore

func (*EtcdRestoreStatus) DeepCopy

func (in *EtcdRestoreStatus) DeepCopy() *EtcdRestoreStatus

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

func (*EtcdRestoreStatus) DeepCopyInto

func (in *EtcdRestoreStatus) DeepCopyInto(out *EtcdRestoreStatus)

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

type InitialClusterMember

type InitialClusterMember struct {
	// Name is a friendly name for the peer, used as a means to identify the
	// peer once it has joined a cluster. This should match the `name` field
	// of the `EtcdPeer` resource representing that peer.
	Name string `json:"name"`

	// Host forms part of the Advertise URL - the URL at which this peer can
	// be contacted. The port and scheme are hardcoded to 2380 and http
	// respectively.
	Host string `json:"host"`
}

InitialClusterMemeber describes a single member of the initial cluster.

func (*InitialClusterMember) DeepCopy

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

func (*InitialClusterMember) DeepCopyInto

func (in *InitialClusterMember) DeepCopyInto(out *InitialClusterMember)

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

type InitialClusterState

type InitialClusterState string

+kubebuilder:validation:Enum=New;Existing

const InitialClusterStateExisting InitialClusterState = "Existing"
const InitialClusterStateNew InitialClusterState = "New"

type StaticBootstrap

type StaticBootstrap struct {
	// InitialCluster provides details of all initial cluster members,
	// and should include ourselves.
	// +kubebuilder:validation:MinItems:=1
	InitialCluster []InitialClusterMember `json:"initialCluster,omitempty"`
}

StaticBootstrap provides static contact information for initial members of the cluster.

func (*StaticBootstrap) DeepCopy

func (in *StaticBootstrap) DeepCopy() *StaticBootstrap

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

func (*StaticBootstrap) DeepCopyInto

func (in *StaticBootstrap) DeepCopyInto(out *StaticBootstrap)

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