v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2020 License: MIT Imports: 11 Imported by: 1

Documentation

Overview

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

Index

Constants

This section is empty.

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 added in v0.2.0

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 added in v0.2.0

type EtcdBackupDestination struct {
	// Local, when set, will copy the backup into a local volume on the pod taking the backup.
	// +optional
	Local *EtcdBackupDestinationLocal `json:"local,omitempty"`
	// GCSBucket, when set, will push the backup to a Google Cloud Storage bucket.
	// +optional
	GCSBucket *EtcdBackupDestinationGCSBucket `json:"gcsBucket,omitempty"`
}

EtcdBackupDestination holds a storage location where an etcd backup will be placed. At most one destination must be set.

func (*EtcdBackupDestination) DeepCopy added in v0.2.0

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

func (*EtcdBackupDestination) DeepCopyInto added in v0.2.0

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

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

type EtcdBackupDestinationGCSBucket added in v0.2.0

type EtcdBackupDestinationGCSBucket struct {
	// BucketName is the name of the storage bucket.
	//+kubebuilder:validation:MinLength=3
	//+kubebuilder:validation:MaxLength=222
	BucketName string `json:"bucketName"`
	// Credentials holds the method of obtaining credentials that will be provided to the
	// Google Cloud APIs in order to write backup data.
	// +optional
	Credentials *GoogleCloudCredentials `json:"credentials,omitempty"`
}

EtcdBackupDestinationGCSBucket describes a remote storage bucket on Google Cloud Storage, and the mechanisms used to access this bucket.

func (*EtcdBackupDestinationGCSBucket) DeepCopy added in v0.2.0

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

func (*EtcdBackupDestinationGCSBucket) DeepCopyInto added in v0.2.0

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

type EtcdBackupDestinationLocal added in v0.2.0

type EtcdBackupDestinationLocal struct {
	// Directory is an absolute filepath to a directory where backups will be placed.
	Directory string `json:"path"`
}

EtcdBackupDestinationLocal describes a local directory into which to put the backup file. This is in the filesystem of the pod running the operator. To persist this between pod restarts, ensure that path is inside a mounted volume.

func (*EtcdBackupDestinationLocal) DeepCopy added in v0.2.0

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

func (*EtcdBackupDestinationLocal) DeepCopyInto added in v0.2.0

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 added in v0.2.0

type EtcdBackupPhase string
var (
	EtcdBackupPhaseBackingUp EtcdBackupPhase = "BackingUp"
	EtcdBackupPhaseUploading EtcdBackupPhase = "Uploading"
	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:"backupSpec"`
}

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 EtcdBackupSpec

type EtcdBackupSpec struct {
	// ClusterEndpoints holds one or more endpoints fronting etcd's gRPC API.
	// Multiple endpoints may only be supported by some backup types.
	ClusterEndpoints []EtcdClusterEndpoint `json:"clusterEndpoints"`
	// 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"`
	// BackupPath is the path to the final backup file inside of the destination.
	// The format of this string varies based on the destination.
	BackupPath string `json:"backupPath,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 EtcdClusterEndpoint added in v0.2.0

type EtcdClusterEndpoint struct {
	// Port that is exposing the etcd client API for this member.
	Port int `json:"port"`
	// An IP address or DNS name of an endpoint.
	Host string `json:"host"`
	// Scheme to use for connecting to the host.
	Scheme corev1.URIScheme `json:"scheme"`
}

EtcdClusterEndpoint holds an addressable endpoint for an etcd member.

func (*EtcdClusterEndpoint) DeepCopy added in v0.2.0

func (in *EtcdClusterEndpoint) DeepCopy() *EtcdClusterEndpoint

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

func (*EtcdClusterEndpoint) DeepCopyInto added in v0.2.0

func (in *EtcdClusterEndpoint) DeepCopyInto(out *EtcdClusterEndpoint)

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

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 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 added in v0.2.0

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 added in v0.2.0

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

func (*EtcdPodTemplateObjectMeta) DeepCopyInto added in v0.2.0

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

type EtcdPodTemplateSpec added in v0.2.0

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 added in v0.2.0

func (in *EtcdPodTemplateSpec) DeepCopy() *EtcdPodTemplateSpec

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

func (*EtcdPodTemplateSpec) DeepCopyInto added in v0.2.0

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

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

type GoogleCloudCredentials added in v0.2.0

type GoogleCloudCredentials struct {
	// Credentials are taken from the key of a Kubernetes secret.
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeySelector,omitempty"`
}

func (*GoogleCloudCredentials) DeepCopy added in v0.2.0

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

func (*GoogleCloudCredentials) DeepCopyInto added in v0.2.0

func (in *GoogleCloudCredentials) DeepCopyInto(out *GoogleCloudCredentials)

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 added in v0.2.0

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