Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=etcd.database.coreos.com
Index ¶
- Constants
- Variables
- func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFuncdeprecated
- func Resource(resource string) schema.GroupResource
- type BackupCRStatus
- type BackupSpec
- type BackupStorageSource
- type BackupStorageType
- type ClusterCondition
- type ClusterConditionType
- type ClusterPhase
- type ClusterSpec
- type ClusterStatus
- func (cs *ClusterStatus) ClearCondition(t ClusterConditionType)
- func (cs *ClusterStatus) Control()
- func (in *ClusterStatus) DeepCopy() *ClusterStatus
- func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
- func (cs *ClusterStatus) IsFailed() bool
- func (cs *ClusterStatus) PauseControl()
- func (cs *ClusterStatus) SetPhase(p ClusterPhase)
- func (cs *ClusterStatus) SetReadyCondition()
- func (cs *ClusterStatus) SetReason(r string)
- func (cs *ClusterStatus) SetRecoveringCondition()
- func (cs *ClusterStatus) SetScalingDownCondition(from, to int)
- func (cs *ClusterStatus) SetScalingUpCondition(from, to int)
- func (cs *ClusterStatus) SetUpgradingCondition(to string)
- func (cs *ClusterStatus) SetVersion(v string)
- func (cs *ClusterStatus) UpgradeVersionTo(v string)
- type EtcdBackup
- type EtcdBackupList
- type EtcdCluster
- type EtcdClusterList
- type EtcdRestore
- type EtcdRestoreList
- type MemberSecret
- type MembersStatus
- type PodPolicy
- type RestoreSource
- type RestoreSpec
- type RestoreStatus
- type S3RestoreSource
- type S3Source
- type SelfHostedPolicy
- type StaticTLS
- type TLSPolicy
Constants ¶
const ( BackupStorageTypeS3 = "S3" AWSSecretCredentialsFileName = "credentials" AWSSecretConfigFileName = "config" )
const ( EtcdClusterResourceKind = "EtcdCluster" EtcdClusterResourcePlural = "etcdclusters" EtcdBackupResourceKind = "EtcdBackup" EtcdBackupResourcePlural = "etcdbackups" EtcdRestoreResourceKind = "EtcdRestore" EtcdRestoreResourcePlural = "etcdrestores" )
const ( ClusterPhaseNone ClusterPhase = "" ClusterPhaseCreating = "Creating" ClusterPhaseRunning = "Running" ClusterPhaseFailed = "Failed" // See ./doc/user/conditions_and_events.md ClusterConditionAvailable ClusterConditionType = "Available" ClusterConditionRecovering = "Recovering" ClusterConditionScaling = "Scaling" ClusterConditionUpgrading = "Upgrading" )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme SchemeGroupVersion = schema.GroupVersion{Group: groupName, Version: "v1beta2"} EtcdClusterCRDName = EtcdClusterResourcePlural + "." + groupName EtcdBackupCRDName = EtcdBackupResourcePlural + "." + groupName EtcdRestoreCRDName = EtcdRestoreResourcePlural + "." + groupName )
var ( // TODO: move validation code into separate package. ErrBackupUnsetRestoreSet = errors.New("spec: backup policy must be set if restore policy is set") )
Functions ¶
func GetGeneratedDeepCopyFuncs
deprecated
added in
v0.7.0
func GetGeneratedDeepCopyFuncs() []conversion.GeneratedDeepCopyFunc
GetGeneratedDeepCopyFuncs returns the generated funcs, since we aren't registering them.
Deprecated: deepcopy registration will go away when static deepcopy is fully implemented.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets an EtcdCluster GroupResource for a specified resource
Types ¶
type BackupCRStatus ¶ added in v0.6.1
type BackupCRStatus struct { // Succeeded indicates if the backup has Succeeded. Succeeded bool `json:"succeeded"` // Reason indicates the reason for any backup related failures. Reason string `json:"Reason,omitempty"` // If S3Source is used to store the backup, this field reports the // S3 path where the backup is saved. S3Path string `json:"s3Path,omitempty"` }
BackupCRStatus represents the status of the EtcdBackup Custom Resource.
func (*BackupCRStatus) DeepCopy ¶ added in v0.6.1
func (in *BackupCRStatus) DeepCopy() *BackupCRStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupCRStatus.
func (*BackupCRStatus) DeepCopyInto ¶ added in v0.6.1
func (in *BackupCRStatus) DeepCopyInto(out *BackupCRStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSpec ¶ added in v0.6.1
type BackupSpec struct { // ClusterName is the etcd cluster name. ClusterName string `json:"clusterName,omitempty"` // StorageType is the etcd backup storage type. StorageType string `json:"storageType"` // BackupStorageSource is the backup storage source. BackupStorageSource `json:",inline"` // ClientTLSSecret is the secret containing the etcd TLS client certs and // must contain the following data items: // data: // "etcd-client.crt": <pem-encoded-cert> // "etcd-client.key": <pem-encoded-key> // "etcd-client-ca.crt": <pem-encoded-ca-cert> ClientTLSSecret string `json:"clientTLSSecret,omitempty"` }
BackupSpec contains a backup specification for an etcd cluster.
func (*BackupSpec) DeepCopy ¶ added in v0.6.1
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶ added in v0.6.1
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageSource ¶ added in v0.6.1
type BackupStorageSource struct {
S3 *S3Source `json:"s3,omitempty"`
}
BackupStorageSource contains the supported backup sources.
func (*BackupStorageSource) DeepCopy ¶ added in v0.6.1
func (in *BackupStorageSource) DeepCopy() *BackupStorageSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageSource.
func (*BackupStorageSource) DeepCopyInto ¶ added in v0.6.1
func (in *BackupStorageSource) DeepCopyInto(out *BackupStorageSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageType ¶
type BackupStorageType string
type ClusterCondition ¶
type ClusterCondition struct { // Type of cluster condition. Type ClusterConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status v1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime string `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime string `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` }
ClusterCondition represents one current condition of an etcd cluster. A condition might not show up if it is not happening. For example, if a cluster is not upgrading, the Upgrading condition would not show up. If a cluster is upgrading and encountered a problem that prevents the upgrade, the Upgrading condition's status will would be False and communicate the problem back.
func (*ClusterCondition) DeepCopy ¶
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶
func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConditionType ¶
type ClusterConditionType string
type ClusterPhase ¶
type ClusterPhase string
type ClusterSpec ¶
type ClusterSpec struct { // Size is the expected size of the etcd cluster. // The etcd-operator will eventually make the size of the running // cluster equal to the expected size. // The vaild range of the size is from 1 to 7. Size int `json:"size"` // Repository is the name of the repository that hosts // etcd container images. It should be direct clone of the repository in official // release: // https://github.com/coreos/etcd/releases // That means, it should have exact same tags and the same meaning for the tags. // // By default, it is `gcr.io/etcd-development/etcd`. Repository string `json:"repository,omitempty"` // **DEPRECATED**. Use Repository instead. // TODO: remove this field in v0.7.2 . BaseImage string `json:"baseImage,omitempty"` // Version is the expected version of the etcd cluster. // The etcd-operator will eventually make the etcd cluster version // equal to the expected version. // // The version must follow the [semver]( http://semver.org) format, for example "3.2.11". // Only etcd released versions are supported: https://github.com/coreos/etcd/releases // // If version is not set, default is "3.2.11". Version string `json:"version,omitempty"` // Paused is to pause the control of the operator for the etcd cluster. Paused bool `json:"paused,omitempty"` // Pod defines the policy to create pod for the etcd pod. // // Updating Pod does not take effect on any existing etcd pods. Pod *PodPolicy `json:"pod,omitempty"` // SelfHosted determines if the etcd cluster is used for a self-hosted // Kubernetes cluster. // // SelfHosted is a cluster initialization configuration. It cannot be updated. SelfHosted *SelfHostedPolicy `json:"selfHosted,omitempty"` // etcd cluster TLS configuration TLS *TLSPolicy `json:"TLS,omitempty"` }
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSpec) Validate ¶
func (c *ClusterSpec) Validate() error
type ClusterStatus ¶
type ClusterStatus struct { // Phase is the cluster running phase Phase ClusterPhase `json:"phase"` Reason string `json:"reason,omitempty"` // ControlPuased indicates the operator pauses the control of the cluster. ControlPaused bool `json:"controlPaused,omitempty"` // Condition keeps track of all cluster conditions, if they exist. Conditions []ClusterCondition `json:"conditions,omitempty"` // Size is the current size of the cluster Size int `json:"size"` // ServiceName is the LB service for accessing etcd nodes. ServiceName string `json:"serviceName,omitempty"` // ClientPort is the port for etcd client to access. // It's the same on client LB service and etcd nodes. ClientPort int `json:"clientPort,omitempty"` // Members are the etcd members in the cluster Members MembersStatus `json:"members"` // CurrentVersion is the current cluster version CurrentVersion string `json:"currentVersion"` // TargetVersion is the version the cluster upgrading to. // If the cluster is not upgrading, TargetVersion is empty. TargetVersion string `json:"targetVersion"` }
func (*ClusterStatus) ClearCondition ¶
func (cs *ClusterStatus) ClearCondition(t ClusterConditionType)
func (*ClusterStatus) Control ¶
func (cs *ClusterStatus) Control()
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStatus) IsFailed ¶
func (cs *ClusterStatus) IsFailed() bool
func (*ClusterStatus) PauseControl ¶
func (cs *ClusterStatus) PauseControl()
func (*ClusterStatus) SetPhase ¶
func (cs *ClusterStatus) SetPhase(p ClusterPhase)
func (*ClusterStatus) SetReadyCondition ¶
func (cs *ClusterStatus) SetReadyCondition()
func (*ClusterStatus) SetReason ¶
func (cs *ClusterStatus) SetReason(r string)
func (*ClusterStatus) SetRecoveringCondition ¶
func (cs *ClusterStatus) SetRecoveringCondition()
func (*ClusterStatus) SetScalingDownCondition ¶
func (cs *ClusterStatus) SetScalingDownCondition(from, to int)
func (*ClusterStatus) SetScalingUpCondition ¶
func (cs *ClusterStatus) SetScalingUpCondition(from, to int)
func (*ClusterStatus) SetUpgradingCondition ¶
func (cs *ClusterStatus) SetUpgradingCondition(to string)
func (*ClusterStatus) SetVersion ¶
func (cs *ClusterStatus) SetVersion(v string)
func (*ClusterStatus) UpgradeVersionTo ¶
func (cs *ClusterStatus) UpgradeVersionTo(v string)
type EtcdBackup ¶ added in v0.6.1
type EtcdBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec BackupSpec `json:"spec"` Status BackupCRStatus `json:"status,omitempty"` }
EtcdBackup represents a Kubernetes EtcdBackup Custom Resource.
func (*EtcdBackup) DeepCopy ¶ added in v0.6.1
func (in *EtcdBackup) DeepCopy() *EtcdBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackup.
func (*EtcdBackup) DeepCopyInto ¶ added in v0.6.1
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 ¶ added in v0.6.1
func (in *EtcdBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdBackupList ¶ added in v0.6.1
type EtcdBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []EtcdBackup `json:"items"` }
EtcdBackupList is a list of EtcdBackup.
func (*EtcdBackupList) DeepCopy ¶ added in v0.6.1
func (in *EtcdBackupList) DeepCopy() *EtcdBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupList.
func (*EtcdBackupList) DeepCopyInto ¶ added in v0.6.1
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 ¶ added in v0.6.1
func (in *EtcdBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdCluster ¶
type EtcdCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec"` Status ClusterStatus `json:"status"` }
func (*EtcdCluster) AsOwner ¶
func (c *EtcdCluster) AsOwner() metav1.OwnerReference
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) SetDefaults ¶ added in v0.7.1
func (e *EtcdCluster) SetDefaults()
SetDefaults cleans up user passed spec, e.g. defaulting, transforming fields. TODO: move this to admission controller
type EtcdClusterList ¶
type EtcdClusterList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` Items []EtcdCluster `json:"items"` }
EtcdClusterList is a list of etcd clusters.
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 EtcdRestore ¶ added in v0.6.1
type EtcdRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec RestoreSpec `json:"spec"` Status RestoreStatus `json:"status,omitempty"` }
EtcdRestore represents a Kubernetes EtcdRestore Custom Resource. The EtcdRestore CR name will be used as the name of the new restored cluster.
func (*EtcdRestore) DeepCopy ¶ added in v0.6.1
func (in *EtcdRestore) DeepCopy() *EtcdRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestore.
func (*EtcdRestore) DeepCopyInto ¶ added in v0.6.1
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 ¶ added in v0.6.1
func (in *EtcdRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdRestoreList ¶ added in v0.6.1
type EtcdRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []EtcdRestore `json:"items"` }
EtcdRestoreList is a list of EtcdRestore.
func (*EtcdRestoreList) DeepCopy ¶ added in v0.6.1
func (in *EtcdRestoreList) DeepCopy() *EtcdRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestoreList.
func (*EtcdRestoreList) DeepCopyInto ¶ added in v0.6.1
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 ¶ added in v0.6.1
func (in *EtcdRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MemberSecret ¶
type MemberSecret struct { // PeerSecret is the secret containing TLS certs used by each etcd member pod // for the communication between etcd peers. PeerSecret string `json:"peerSecret,omitempty"` // ServerSecret is the secret containing TLS certs used by each etcd member pod // for the communication between etcd server and its clients. ServerSecret string `json:"serverSecret,omitempty"` }
func (*MemberSecret) DeepCopy ¶
func (in *MemberSecret) DeepCopy() *MemberSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberSecret.
func (*MemberSecret) DeepCopyInto ¶
func (in *MemberSecret) DeepCopyInto(out *MemberSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MembersStatus ¶
type MembersStatus struct { // Ready are the etcd members that are ready to serve requests // The member names are the same as the etcd pod names Ready []string `json:"ready,omitempty"` // Unready are the etcd members not ready to serve requests Unready []string `json:"unready,omitempty"` }
func (*MembersStatus) DeepCopy ¶
func (in *MembersStatus) DeepCopy() *MembersStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MembersStatus.
func (*MembersStatus) DeepCopyInto ¶
func (in *MembersStatus) DeepCopyInto(out *MembersStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodPolicy ¶
type PodPolicy struct { // Labels specifies the labels to attach to pods the operator creates for the // etcd cluster. // "app" and "etcd_*" labels are reserved for the internal use of the etcd operator. // Do not overwrite them. Labels map[string]string `json:"labels,omitempty"` // NodeSelector specifies a map of key-value pairs. For the pod to be eligible // to run on a node, the node must have each of the indicated key-value pairs as // labels. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // The scheduling constraints on etcd pods. Affinity *v1.Affinity `json:"affinity,omitempty"` // **DEPRECATED**. Use Affinity instead. AntiAffinity bool `json:"antiAffinity,omitempty"` // Resources is the resource requirements for the etcd container. // This field cannot be updated once the cluster is created. Resources v1.ResourceRequirements `json:"resources,omitempty"` // Tolerations specifies the pod's tolerations. Tolerations []v1.Toleration `json:"tolerations,omitempty"` // List of environment variables to set in the etcd container. // This is used to configure etcd process. etcd cluster cannot be created, when // bad environement variables are provided. Do not overwrite any flags used to // bootstrap the cluster (for example `--initial-cluster` flag). // This field cannot be updated. EtcdEnv []v1.EnvVar `json:"etcdEnv,omitempty"` }
PodPolicy defines the policy to create pod for the etcd container.
func (*PodPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPolicy.
func (*PodPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreSource ¶ added in v0.7.0
type RestoreSource struct { // S3 tells where on S3 the backup is saved and how to fetch the backup. S3 *S3RestoreSource `json:"s3,omitempty"` }
func (*RestoreSource) DeepCopy ¶ added in v0.7.0
func (in *RestoreSource) DeepCopy() *RestoreSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSource.
func (*RestoreSource) DeepCopyInto ¶ added in v0.7.0
func (in *RestoreSource) DeepCopyInto(out *RestoreSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreSpec ¶ added in v0.6.1
type RestoreSpec struct { // ClusterSpec defines the same spec that etcd operator will run later. // using this spec, restore operator will prepare the seed that // etcd operator will pick up later. ClusterSpec ClusterSpec `json:"clusterSpec"` // RestoreSource tells the where to get the backup and restore from. RestoreSource `json:",inline"` }
RestoreSpec defines how to restore an etcd cluster from existing backup.
func (*RestoreSpec) DeepCopy ¶ added in v0.6.1
func (in *RestoreSpec) DeepCopy() *RestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSpec.
func (*RestoreSpec) DeepCopyInto ¶ added in v0.6.1
func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreStatus ¶ added in v0.6.1
type RestoreStatus struct { // Succeeded indicates if the backup has Succeeded. Succeeded bool `json:"succeeded"` // Reason indicates the reason for any backup related failures. Reason string `json:"reason,omitempty"` }
RestoreStatus reports the status of this restore operation.
func (*RestoreStatus) DeepCopy ¶ added in v0.6.1
func (in *RestoreStatus) DeepCopy() *RestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreStatus.
func (*RestoreStatus) DeepCopyInto ¶ added in v0.6.1
func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3RestoreSource ¶ added in v0.7.0
type S3RestoreSource struct { // Path is the full s3 path where the backup is saved. // The format of the path must be: "<s3-bucket-name>/<path-to-backup-file>" // e.g: "etcd-backups/v1/default/example-etcd-cluster/3.2.11_0000000000000001_etcd.backup" Path string `json:"path"` // The name of the secret object that stores the AWS credential and config files. // The file name of the credential MUST be 'credentials'. // The file name of the config MUST be 'config'. // The profile to use in both files will be 'default'. // // AWSSecret overwrites the default etcd operator wide AWS credential and config. AWSSecret string `json:"awsSecret"` }
func (*S3RestoreSource) DeepCopy ¶ added in v0.7.0
func (in *S3RestoreSource) DeepCopy() *S3RestoreSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3RestoreSource.
func (*S3RestoreSource) DeepCopyInto ¶ added in v0.7.0
func (in *S3RestoreSource) DeepCopyInto(out *S3RestoreSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Source ¶
type S3Source struct { // The name of the AWS S3 bucket to store backups in. // // S3Bucket overwrites the default etcd operator wide bucket. S3Bucket string `json:"s3Bucket,omitempty"` // Prefix is the S3 prefix used to prefix the bucket path. // It's the prefix at the beginning. // After that, it will have version and cluster specific paths. Prefix string `json:"prefix,omitempty"` // The name of the secret object that stores the AWS credential and config files. // The file name of the credential MUST be 'credentials'. // The file name of the config MUST be 'config'. // The profile to use in both files will be 'default'. // // AWSSecret overwrites the default etcd operator wide AWS credential and config. AWSSecret string `json:"awsSecret,omitempty"` }
TODO: support per cluster S3 Source configuration.
func (*S3Source) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Source.
func (*S3Source) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SelfHostedPolicy ¶
type SelfHostedPolicy struct { // BootMemberClientEndpoint specifies a bootstrap member for the cluster. // If there is no bootstrap member, a completely new cluster will be created. // The boot member will be removed from the cluster once the self-hosted cluster // setup successfully. BootMemberClientEndpoint string `json:"bootMemberClientEndpoint,omitempty"` // SkipBootMemberRemoval specifies whether the removal of the bootstrap member // should be skipped. By default the operator will automatically remove the // bootstrap member from the new cluster - this happens during the pivot // procedure and is the first step of decommissioning the bootstrap member. // If unspecified, the default is `false`. If set to `true`, you are // expected to remove the boot member yourself from the etcd cluster. SkipBootMemberRemoval bool `json:"skipBootMemberRemoval,omitempty"` }
func (*SelfHostedPolicy) DeepCopy ¶
func (in *SelfHostedPolicy) DeepCopy() *SelfHostedPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfHostedPolicy.
func (*SelfHostedPolicy) DeepCopyInto ¶
func (in *SelfHostedPolicy) DeepCopyInto(out *SelfHostedPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StaticTLS ¶
type StaticTLS struct { // Member contains secrets containing TLS certs used by each etcd member pod. Member *MemberSecret `json:"member,omitempty"` // OperatorSecret is the secret containing TLS certs used by operator to // talk securely to this cluster. OperatorSecret string `json:"operatorSecret,omitempty"` }
func (*StaticTLS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticTLS.
func (*StaticTLS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSPolicy ¶
type TLSPolicy struct { // StaticTLS enables user to generate static x509 certificates and keys, // put them into Kubernetes secrets, and specify them into here. Static *StaticTLS `json:"static,omitempty"` }
TLSPolicy defines the TLS policy of an etcd cluster
func (*TLSPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSPolicy.
func (*TLSPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.