Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the etcd v1alpha1 API group +kubebuilder:object:generate=true +groupName=etcd.improbable.io
Index ¶
- Constants
- Variables
- func IsInvalidUserProvidedAnnotationName(annotationName string) bool
- type Bootstrap
- type EtcdBackup
- type EtcdBackupDestination
- type EtcdBackupList
- type EtcdBackupPhase
- type EtcdBackupSchedule
- type EtcdBackupScheduleList
- type EtcdBackupScheduleSpec
- type EtcdBackupScheduleStatus
- type EtcdBackupSource
- type EtcdBackupSpec
- type EtcdBackupStatus
- type EtcdCluster
- func (in *EtcdCluster) DeepCopy() *EtcdCluster
- func (in *EtcdCluster) DeepCopyInto(out *EtcdCluster)
- func (in *EtcdCluster) DeepCopyObject() runtime.Object
- func (o *EtcdCluster) Default()
- func (o *EtcdCluster) ValidateCreate() error
- func (o *EtcdCluster) ValidateDelete() error
- func (o *EtcdCluster) ValidateUpdate(old runtime.Object) error
- type EtcdClusterList
- type EtcdClusterSpec
- type EtcdClusterStatus
- type EtcdClusterTemplate
- type EtcdMember
- type EtcdPeer
- func (in *EtcdPeer) DeepCopy() *EtcdPeer
- func (in *EtcdPeer) DeepCopyInto(out *EtcdPeer)
- func (in *EtcdPeer) DeepCopyObject() runtime.Object
- func (o *EtcdPeer) Default()
- func (o *EtcdPeer) ValidateCreate() error
- func (o *EtcdPeer) ValidateDelete() error
- func (o *EtcdPeer) ValidateUpdate(old runtime.Object) error
- type EtcdPeerList
- type EtcdPeerSpec
- type EtcdPeerStatus
- type EtcdPeerStorage
- type EtcdPodTemplateObjectMeta
- type EtcdPodTemplateSpec
- type EtcdRestore
- type EtcdRestoreList
- type EtcdRestorePhase
- type EtcdRestoreSource
- type EtcdRestoreSpec
- type EtcdRestoreStatus
- type InitialClusterMember
- type InitialClusterState
- type StaticBootstrap
Constants ¶
const ( // EtcdBackupReasonSucceeded is the event generated after a successful backup. EtcdBackupReasonSucceeded = "BackupSucceeded" // EtcdBackupReasonFailed is the event generated after a failed backup EtcdBackupReasonFailed = "BackupFailed" )
Variables ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bootstrap.
func (*Bootstrap) DeepCopyInto ¶
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 ¶
func (in *EtcdBackupDestination) DeepCopy() *EtcdBackupDestination
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 ¶
func (in *EtcdBackupScheduleList) DeepCopy() *EtcdBackupScheduleList
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 ¶
func (in *EtcdBackupScheduleSpec) DeepCopy() *EtcdBackupScheduleSpec
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 ¶
func (in *EtcdBackupScheduleStatus) DeepCopy() *EtcdBackupScheduleStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdPeer.
func (*EtcdPeer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdPeer) DeepCopyObject ¶
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 ¶
ValidateCreate validates that all required fields are present and valid.
func (*EtcdPeer) ValidateDelete ¶
ValidateCreate validates that deletion is allowed TODO: Not yet implemented
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 ¶
func (in *EtcdPodTemplateObjectMeta) DeepCopy() *EtcdPodTemplateObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdPodTemplateObjectMeta.
func (*EtcdPodTemplateObjectMeta) DeepCopyInto ¶
func (in *EtcdPodTemplateObjectMeta) DeepCopyInto(out *EtcdPodTemplateObjectMeta)
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 ¶
func (in *InitialClusterMember) DeepCopy() *InitialClusterMember
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.