Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the druid v1alpha1 API group +kubebuilder:object:generate=true +groupName=druid.gardener.cloud
Index ¶
- Constants
- Variables
- type BackupSpec
- type Condition
- type ConditionStatus
- type ConditionType
- type CrossVersionObjectReference
- type EndpointStatus
- type Etcd
- type EtcdConfig
- type EtcdList
- type EtcdSpec
- type EtcdStatus
- type GarbageCollectionPolicy
- type LastOperation
- type LastOperationState
- type LastOperationType
- type MetricsLevel
- type StorageProvider
- type StoreSpec
- type TLSConfig
Constants ¶
const ( // GarbageCollectionPolicyExponential defines the exponential policy for garbage collecting old backups GarbageCollectionPolicyExponential = "Exponential" // GarbageCollectionPolicyLimitBased defines the limit based policy for garbage collecting old backups GarbageCollectionPolicyLimitBased = "LimitBased" // Basic is a constant for metrics level basic. Basic MetricsLevel = "basic" // Extensive is a constant for metrics level extensive. Extensive MetricsLevel = "extensive" )
const ( // ConditionAvailable is a condition type for indicating availability. ConditionAvailable ConditionType = "Available" // ConditionTrue means a resource is in the condition. ConditionTrue ConditionStatus = "True" // ConditionFalse means a resource is not in the condition. ConditionFalse ConditionStatus = "False" // ConditionUnknown means Gardener can't decide if a resource is in the condition or not. ConditionUnknown ConditionStatus = "Unknown" // ConditionProgressing means the condition was seen true, failed but stayed within a predefined failure threshold. // In the future, we could add other intermediate conditions, e.g. ConditionDegraded. ConditionProgressing ConditionStatus = "Progressing" // ConditionCheckError is a constant for a reason in condition. ConditionCheckError = "ConditionCheckError" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "druid.gardener.cloud", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type BackupSpec ¶
type BackupSpec struct { // Port define the port on which etcd-backup-restore server will exposed. // +optional Port *int `json:"port,omitempty"` // +optional TLS *TLSConfig `json:"tls,omitempty"` // Image defines the etcd container image and tag // +optional Image *string `json:"image,omitempty"` // Store defines the specification of object store provider for storing backups. // +optional Store *StoreSpec `json:"store,omitempty"` // Resources defines the compute Resources required by backup-restore container. // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // FullSnapshotSchedule defines the cron standard schedule for full snapshots. // +optional FullSnapshotSchedule *string `json:"fullSnapshotSchedule,omitempty"` // GarbageCollectionPolicy defines the policy for garbage collecting old backups // +optional GarbageCollectionPolicy *GarbageCollectionPolicy `json:"garbageCollectionPolicy,omitempty"` // GarbageCollectionPeriod defines the period for garbage collecting old backups // +optional GarbageCollectionPeriod *metav1.Duration `json:"garbageCollectionPeriod,omitempty"` // DeltaSnapshotPeriod defines the period after which delta snapshots will be taken // +optional DeltaSnapshotPeriod *metav1.Duration `json:"deltaSnapshotPeriod,omitempty"` // DeltaSnapshotMemoryLimit defines the memory limit after which delta snapshots will be taken // +optional DeltaSnapshotMemoryLimit *resource.Quantity `json:"deltaSnapshotMemoryLimit,omitempty"` }
BackupSpec defines parametes associated with the full and delta snapshots of etcd
func (*BackupSpec) DeepCopy ¶
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct { // Type of the Etcd condition. Type ConditionType `json:"type,omitempty"` // Status of the condition, one of True, False, Unknown. Status ConditionStatus `json:"status,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Last time the condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,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"` }
Condition holds the information about the state of a resource.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CrossVersionObjectReference ¶
type CrossVersionObjectReference struct { // Kind of the referent // +required Kind string `json:"kind,omitempty"` // Name of the referent // +required Name string `json:"name,omitempty"` // API version of the referent // +optional APIVersion string `json:"apiVersion,omitempty"` }
CrossVersionObjectReference contains enough information to let you identify the referred resource.
func (*CrossVersionObjectReference) DeepCopy ¶
func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossVersionObjectReference.
func (*CrossVersionObjectReference) DeepCopyInto ¶
func (in *CrossVersionObjectReference) DeepCopyInto(out *CrossVersionObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Etcd ¶
type Etcd struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EtcdSpec `json:"spec,omitempty"` Status EtcdStatus `json:"status,omitempty"` }
Etcd is the Schema for the etcds API
func (*Etcd) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.
func (*Etcd) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Etcd) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdConfig ¶
type EtcdConfig struct { // Quota defines the etcd DB quota. // +optional Quota *resource.Quantity `json:"quota,omitempty"` // DefragmentationSchedule defines the cron standard schedule for defragmentation of etcd. // +optional DefragmentationSchedule *string `json:"defragmentationSchedule,omitempty"` // +optional ServerPort *int `json:"serverPort,omitempty"` // +optional ClientPort *int `json:"clientPort,omitempty"` // Image defines the etcd container image and tag // +optional Image *string `json:"image,omitempty"` // +optional AuthSecretRef *corev1.SecretReference `json:"authSecretRef,omitempty"` // Metrics defines the level of detail for exported metrics of etcd, specify 'extensive' to include histogram metrics. // +optional Metrics MetricsLevel `json:"metrics,omitempty"` // Resources defines the compute Resources required by etcd container. // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // +optional TLS *TLSConfig `json:"tls,omitempty"` }
EtcdConfig defines parametes associated etcd deployed
func (*EtcdConfig) DeepCopy ¶
func (in *EtcdConfig) DeepCopy() *EtcdConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConfig.
func (*EtcdConfig) DeepCopyInto ¶
func (in *EtcdConfig) DeepCopyInto(out *EtcdConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdList ¶
type EtcdList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Etcd `json:"items"` }
EtcdList contains a list of Etcd
func (*EtcdList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdList.
func (*EtcdList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdSpec ¶
type EtcdSpec struct { // selector is a label query over pods that should match the replica count. // It must match the pod template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors Selector *metav1.LabelSelector `json:"selector"` // +optional Labels map[string]string `json:"labels,omitempty"` // +optional Annotations map[string]string `json:"annotations,omitempty"` // +required Etcd EtcdConfig `json:"etcd"` // +required Backup BackupSpec `json:"backup"` // +required Replicas int `json:"replicas"` // StorageClass defines the name of the StorageClass required by the claim. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 // +optional StorageClass *string `json:"storageClass,omitempty"` // StorageCapacity defines the size of persistent volume. // +optional StorageCapacity *resource.Quantity `json:"storageCapacity,omitempty"` // VolumeClaimTemplate defines the volume claim template to be created // +required VolumeClaimTemplate *string `json:"volumeClaimTemplate,omitempty"` }
EtcdSpec defines the desired state of Etcd
func (*EtcdSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdSpec.
func (*EtcdSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdStatus ¶
type EtcdStatus struct { // ObservedGeneration is the most recent generation observed for this resource. // +optional ObservedGeneration *int64 `json:"observedGeneration,omitempty"` // +optional Etcd CrossVersionObjectReference `json:"etcd,omitempty"` // +optional Conditions []Condition `json:"conditions,omitempty"` // +optional CurrentReplicas int32 `json:"currentReplicas,omitempty"` // +optional ServiceName *string `json:"serviceName,omitempty"` // +optional LastError *string `json:"lastError,omitempty"` // +optional Replicas int32 `json:"replicas,omitempty"` // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` // +optional Ready bool `json:"ready,omitempty"` // +optional UpdatedReplicas int32 `json:"updatedReplicas,omitempty"` // selector is a label query over pods that should match the replica count. // It must match the pod template's labels. // +optional LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` }
EtcdStatus defines the observed state of Etcd
func (*EtcdStatus) DeepCopy ¶
func (in *EtcdStatus) DeepCopy() *EtcdStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStatus.
func (*EtcdStatus) DeepCopyInto ¶
func (in *EtcdStatus) DeepCopyInto(out *EtcdStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GarbageCollectionPolicy ¶
type GarbageCollectionPolicy string
GarbageCollectionPolicy defines the type of policy for snapshot garbage collection. +kubebuilder:validation:Enum=Exponential;LimitBased
type LastOperation ¶
type LastOperation struct { // A human readable message indicating details about the last operation. Description string `json:"description,omitempty"` // Last time the operation state transitioned from one to another. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // The progress in percentage (0-100) of the last operation. Progress int `json:"progress,omitempty"` // Status of the last operation, one of Aborted, Processing, Succeeded, Error, Failed. State LastOperationState `json:"state,omitempty"` // Type of the last operation, one of Create, Reconcile, Delete. Type LastOperationType `json:"type,omitempty"` }
LastOperation indicates the type and the state of the last operation, along with a description message and a progress indicator.
func (*LastOperation) DeepCopy ¶
func (in *LastOperation) DeepCopy() *LastOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastOperation.
func (*LastOperation) DeepCopyInto ¶
func (in *LastOperation) DeepCopyInto(out *LastOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LastOperationState ¶
type LastOperationState string
LastOperationState is a string alias.
const ( // LastOperationStateProcessing indicates that an operation is ongoing. LastOperationStateProcessing LastOperationState = "Processing" // LastOperationStateSucceeded indicates that an operation has completed successfully. LastOperationStateSucceeded LastOperationState = "Succeeded" // LastOperationStateError indicates that an operation is completed with errors and will be retried. LastOperationStateError LastOperationState = "Error" // LastOperationStateFailed indicates that an operation is completed with errors and won't be retried. LastOperationStateFailed LastOperationState = "Failed" // LastOperationStatePending indicates that an operation cannot be done now, but will be tried in future. LastOperationStatePending LastOperationState = "Pending" // LastOperationStateAborted indicates that an operation has been aborted. LastOperationStateAborted LastOperationState = "Aborted" )
type LastOperationType ¶
type LastOperationType string
LastOperationType is a string alias.
const ( // LastOperationTypeCreate indicates a 'create' operation. LastOperationTypeCreate LastOperationType = "Create" // LastOperationTypeReconcile indicates a 'reconcile' operation. LastOperationTypeReconcile LastOperationType = "Reconcile" // LastOperationTypeDelete indicates a 'delete' operation. LastOperationTypeDelete LastOperationType = "Delete" )
type MetricsLevel ¶
type MetricsLevel string
MetricsLevel defines the level 'basic' or 'extensive'. +kubebuilder:validation:Enum=basic;extensive
type StorageProvider ¶
type StorageProvider string
StorageProvider defines the type of object store provider for storing backups.
type StoreSpec ¶
type StoreSpec struct { // +optional Container *string `json:"container,omitempty"` // +required Prefix string `json:"prefix"` // +optional Provider *StorageProvider `json:"provider,omitempty"` // +optional SecretRef *corev1.SecretReference `json:"secretRef,omitempty"` }
StoreSpec defines parameters related to ObjectStore persisting backups
func (*StoreSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoreSpec.
func (*StoreSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶
type TLSConfig struct { // +required ServerTLSSecretRef corev1.SecretReference `json:"serverTLSSecretRef"` // +required ClientTLSSecretRef corev1.SecretReference `json:"clientTLSSecretRef"` // +required TLSCASecretRef corev1.SecretReference `json:"tlsCASecretRef"` }
TLSConfig hold the TLS configuration details.
func (*TLSConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.