API Reference¶
Packages¶
druid.gardener.cloud/v1alpha1¶
Package v1alpha1 contains API Schema definitions for the druid v1alpha1 API group
Resource Types¶
BackupSpec¶
BackupSpec defines parameters associated with the full and delta snapshots of etcd.
Appears in: - EtcdSpec
Field | Description | Default | Validation |
---|---|---|---|
port integer |
Port define the port on which etcd-backup-restore server will be exposed. | ||
tls TLSConfig |
|||
image string |
Image defines the etcd container image and tag | ||
store StoreSpec |
Store defines the specification of object store provider for storing backups. | ||
resources ResourceRequirements |
Resources defines compute Resources required by backup-restore container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ |
||
compactionResources ResourceRequirements |
CompactionResources defines compute Resources required by compaction job. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ |
||
fullSnapshotSchedule string |
FullSnapshotSchedule defines the cron standard schedule for full snapshots. | ||
garbageCollectionPolicy GarbageCollectionPolicy |
GarbageCollectionPolicy defines the policy for garbage collecting old backups | Enum: [Exponential LimitBased] |
|
maxBackupsLimitBasedGC integer |
MaxBackupsLimitBasedGC defines the maximum number of Full snapshots to retain in Limit Based GarbageCollectionPolicy All full snapshots beyond this limit will be garbage collected. |
||
garbageCollectionPeriod Duration |
GarbageCollectionPeriod defines the period for garbage collecting old backups | ||
deltaSnapshotPeriod Duration |
DeltaSnapshotPeriod defines the period after which delta snapshots will be taken | ||
deltaSnapshotMemoryLimit Quantity |
DeltaSnapshotMemoryLimit defines the memory limit after which delta snapshots will be taken | ||
deltaSnapshotRetentionPeriod Duration |
DeltaSnapshotRetentionPeriod defines the duration for which delta snapshots will be retained, excluding the latest snapshot set. The value should be a string formatted as a duration (e.g., '1s', '2m', '3h', '4d') |
Pattern: ^([0-9][0-9]*([.][0-9]+)?(s\|m\|h\|d))+$ Type: string |
|
compression CompressionSpec |
SnapshotCompression defines the specification for compression of Snapshots. | ||
enableProfiling boolean |
EnableProfiling defines if profiling should be enabled for the etcd-backup-restore-sidecar | ||
etcdSnapshotTimeout Duration |
EtcdSnapshotTimeout defines the timeout duration for etcd FullSnapshot operation | ||
leaderElection LeaderElectionSpec |
LeaderElection defines parameters related to the LeaderElection configuration. |
ClientService¶
ClientService defines the parameters of the client service that a user can specify
Appears in: - EtcdConfig
Field | Description | Default | Validation |
---|---|---|---|
annotations object (keys:string, values:string) |
Annotations specify the annotations that should be added to the client service | ||
labels object (keys:string, values:string) |
Labels specify the labels that should be added to the client service |
CompactionMode¶
Underlying type: string
CompactionMode defines the auto-compaction-mode: 'periodic' or 'revision'. 'periodic' for duration based retention and 'revision' for revision number based retention.
Validation: - Enum: [periodic revision]
Appears in: - SharedConfig
Field | Description |
---|---|
periodic |
Periodic is a constant to set auto-compaction-mode 'periodic' for duration based retention. |
revision |
Revision is a constant to set auto-compaction-mode 'revision' for revision number based retention. |
CompressionPolicy¶
Underlying type: string
CompressionPolicy defines the type of policy for compression of snapshots.
Validation: - Enum: [gzip lzw zlib]
Appears in: - CompressionSpec
Field | Description |
---|---|
gzip |
GzipCompression is constant for gzip compression policy. |
lzw |
LzwCompression is constant for lzw compression policy. |
zlib |
ZlibCompression is constant for zlib compression policy. |
CompressionSpec¶
CompressionSpec defines parameters related to compression of Snapshots(full as well as delta).
Appears in: - BackupSpec
Field | Description | Default | Validation |
---|---|---|---|
enabled boolean |
|||
policy CompressionPolicy |
Enum: [gzip lzw zlib] |
Condition¶
Condition holds the information about the state of a resource.
Appears in: - EtcdCopyBackupsTaskStatus - EtcdStatus
Field | Description | Default | Validation |
---|---|---|---|
type ConditionType |
Type of the Etcd condition. | ||
status ConditionStatus |
Status of the condition, one of True, False, Unknown. | ||
lastTransitionTime Time |
Last time the condition transitioned from one status to another. | ||
lastUpdateTime Time |
Last time the condition was updated. | ||
reason string |
The reason for the condition's last transition. | ||
message string |
A human-readable message indicating details about the transition. |
ConditionStatus¶
Underlying type: string
ConditionStatus is the status of a condition.
Appears in: - Condition
Field | Description |
---|---|
True |
ConditionTrue means a resource is in the condition. |
False |
ConditionFalse means a resource is not in the condition. |
Unknown |
ConditionUnknown means Gardener can't decide if a resource is in the condition or not. |
Progressing |
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. |
ConditionCheckError |
ConditionCheckError is a constant for a reason in condition. |
ConditionType¶
Underlying type: string
ConditionType is the type of condition.
Appears in: - Condition
Field | Description |
---|---|
Ready |
ConditionTypeReady is a constant for a condition type indicating that the etcd cluster is ready. |
AllMembersReady |
ConditionTypeAllMembersReady is a constant for a condition type indicating that all members of the etcd cluster are ready. |
BackupReady |
ConditionTypeBackupReady is a constant for a condition type indicating that the etcd backup is ready. |
DataVolumesReady |
ConditionTypeDataVolumesReady is a constant for a condition type indicating that the etcd data volumes are ready. |
Succeeded |
EtcdCopyBackupsTaskSucceeded is a condition type indicating that a EtcdCopyBackupsTask has succeeded. |
Failed |
EtcdCopyBackupsTaskFailed is a condition type indicating that a EtcdCopyBackupsTask has failed. |
CrossVersionObjectReference¶
CrossVersionObjectReference contains enough information to let you identify the referred resource.
Appears in: - EtcdStatus
Field | Description | Default | Validation |
---|---|---|---|
kind string |
Kind of the referent | ||
name string |
Name of the referent | ||
apiVersion string |
API version of the referent |
ErrorCode¶
Underlying type: string
ErrorCode is a string alias representing an error code that identifies an error.
Appears in: - LastError
Etcd¶
Etcd is the Schema for the etcds API
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string |
druid.gardener.cloud/v1alpha1 |
||
kind string |
Etcd |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata . |
||
spec EtcdSpec |
|||
status EtcdStatus |
EtcdConfig¶
EtcdConfig defines the configuration for the etcd cluster to be deployed.
Appears in: - EtcdSpec
Field | Description | Default | Validation |
---|---|---|---|
quota Quantity |
Quota defines the etcd DB quota. | ||
defragmentationSchedule string |
DefragmentationSchedule defines the cron standard schedule for defragmentation of etcd. | ||
serverPort integer |
|||
clientPort integer |
|||
image string |
Image defines the etcd container image and tag | ||
authSecretRef SecretReference |
|||
metrics MetricsLevel |
Metrics defines the level of detail for exported metrics of etcd, specify 'extensive' to include histogram metrics. | Enum: [basic extensive] |
|
resources ResourceRequirements |
Resources defines the compute Resources required by etcd container. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ |
||
clientUrlTls TLSConfig |
ClientUrlTLS contains the ca, server TLS and client TLS secrets for client communication to ETCD cluster | ||
peerUrlTls TLSConfig |
PeerUrlTLS contains the ca and server TLS secrets for peer communication within ETCD cluster Currently, PeerUrlTLS does not require client TLS secrets for gardener implementation of ETCD cluster. |
||
etcdDefragTimeout Duration |
EtcdDefragTimeout defines the timeout duration for etcd defrag call | ||
heartbeatDuration Duration |
HeartbeatDuration defines the duration for members to send heartbeats. The default value is 10s. | ||
clientService ClientService |
ClientService defines the parameters of the client service that a user can specify |
EtcdCopyBackupsTask¶
EtcdCopyBackupsTask is a task for copying etcd backups from a source to a target store.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string |
druid.gardener.cloud/v1alpha1 |
||
kind string |
EtcdCopyBackupsTask |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata . |
||
spec EtcdCopyBackupsTaskSpec |
|||
status EtcdCopyBackupsTaskStatus |
EtcdCopyBackupsTaskSpec¶
EtcdCopyBackupsTaskSpec defines the parameters for the copy backups task.
Appears in: - EtcdCopyBackupsTask
Field | Description | Default | Validation |
---|---|---|---|
sourceStore StoreSpec |
SourceStore defines the specification of the source object store provider for storing backups. | ||
targetStore StoreSpec |
TargetStore defines the specification of the target object store provider for storing backups. | ||
maxBackupAge integer |
MaxBackupAge is the maximum age in days that a backup must have in order to be copied. By default all backups will be copied. |
||
maxBackups integer |
MaxBackups is the maximum number of backups that will be copied starting with the most recent ones. | ||
waitForFinalSnapshot WaitForFinalSnapshotSpec |
WaitForFinalSnapshot defines the parameters for waiting for a final full snapshot before copying backups. |
EtcdCopyBackupsTaskStatus¶
EtcdCopyBackupsTaskStatus defines the observed state of the copy backups task.
Appears in: - EtcdCopyBackupsTask
Field | Description | Default | Validation |
---|---|---|---|
conditions Condition array |
Conditions represents the latest available observations of an object's current state. | ||
observedGeneration integer |
ObservedGeneration is the most recent generation observed for this resource. | ||
lastError string |
LastError represents the last occurred error. |
EtcdMemberConditionStatus¶
Underlying type: string
EtcdMemberConditionStatus is the status of an etcd cluster member.
Appears in: - EtcdMemberStatus
Field | Description |
---|---|
Ready |
EtcdMemberStatusReady indicates that the etcd member is ready. |
NotReady |
EtcdMemberStatusNotReady indicates that the etcd member is not ready. |
Unknown |
EtcdMemberStatusUnknown indicates that the status of the etcd member is unknown. |
EtcdMemberStatus¶
EtcdMemberStatus holds information about etcd cluster membership.
Appears in: - EtcdStatus
Field | Description | Default | Validation |
---|---|---|---|
name string |
Name is the name of the etcd member. It is the name of the backing Pod . |
||
id string |
ID is the ID of the etcd member. | ||
role EtcdRole |
Role is the role in the etcd cluster, either Leader or Member . |
||
status EtcdMemberConditionStatus |
Status of the condition, one of True, False, Unknown. | ||
reason string |
The reason for the condition's last transition. | ||
lastTransitionTime Time |
LastTransitionTime is the last time the condition's status changed. |
EtcdRole¶
Underlying type: string
EtcdRole is the role of an etcd cluster member.
Appears in: - EtcdMemberStatus
Field | Description |
---|---|
Leader |
EtcdRoleLeader describes the etcd role Leader . |
Member |
EtcdRoleMember describes the etcd role Member . |
EtcdSpec¶
EtcdSpec defines the desired state of Etcd
Appears in: - Etcd
Field | Description | Default | Validation |
---|---|---|---|
selector LabelSelector |
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 |
||
labels object (keys:string, values:string) |
|||
annotations object (keys:string, values:string) |
|||
etcd EtcdConfig |
|||
backup BackupSpec |
|||
sharedConfig SharedConfig |
|||
schedulingConstraints SchedulingConstraints |
|||
replicas integer |
|||
priorityClassName string |
PriorityClassName is the name of a priority class that shall be used for the etcd pods. | ||
storageClass string |
StorageClass defines the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
||
storageCapacity Quantity |
StorageCapacity defines the size of persistent volume. | ||
volumeClaimTemplate string |
VolumeClaimTemplate defines the volume claim template to be created |
EtcdStatus¶
EtcdStatus defines the observed state of Etcd.
Appears in: - Etcd
Field | Description | Default | Validation |
---|---|---|---|
observedGeneration integer |
ObservedGeneration is the most recent generation observed for this resource. | ||
etcd CrossVersionObjectReference |
|||
conditions Condition array |
Conditions represents the latest available observations of an etcd's current state. | ||
serviceName string |
ServiceName is the name of the etcd service. Deprecated: this field will be removed in the future. |
||
lastError string |
LastError represents the last occurred error. Deprecated: Use LastErrors instead. |
||
lastErrors LastError array |
LastErrors captures errors that occurred during the last operation. | ||
lastOperation LastOperation |
LastOperation indicates the last operation performed on this resource. | ||
clusterSize integer |
Cluster size is the current size of the etcd cluster. Deprecated: this field will not be populated with any value and will be removed in the future. |
||
currentReplicas integer |
CurrentReplicas is the current replica count for the etcd cluster. | ||
replicas integer |
Replicas is the replica count of the etcd cluster. | ||
readyReplicas integer |
ReadyReplicas is the count of replicas being ready in the etcd cluster. | ||
ready boolean |
Ready is true if all etcd replicas are ready. |
||
updatedReplicas integer |
UpdatedReplicas is the count of updated replicas in the etcd cluster. Deprecated: this field will be removed in the future. |
||
labelSelector LabelSelector |
LabelSelector is a label query over pods that should match the replica count. It must match the pod template's labels. Deprecated: this field will be removed in the future. |
||
members EtcdMemberStatus array |
Members represents the members of the etcd cluster | ||
peerUrlTLSEnabled boolean |
PeerUrlTLSEnabled captures the state of peer url TLS being enabled for the etcd member(s) |
GarbageCollectionPolicy¶
Underlying type: string
GarbageCollectionPolicy defines the type of policy for snapshot garbage collection.
Validation: - Enum: [Exponential LimitBased]
Appears in: - BackupSpec
LastError¶
LastError stores details of the most recent error encountered for a resource.
Appears in: - EtcdStatus
Field | Description | Default | Validation |
---|---|---|---|
code ErrorCode |
Code is an error code that uniquely identifies an error. | ||
description string |
Description is a human-readable message indicating details of the error. | ||
observedAt Time |
ObservedAt is the time the error was observed. |
LastOperation¶
LastOperation holds the information on the last operation done on the Etcd resource.
Appears in: - EtcdStatus
Field | Description | Default | Validation |
---|---|---|---|
type LastOperationType |
Type is the type of last operation. | ||
state LastOperationState |
State is the state of the last operation. | ||
description string |
Description describes the last operation. | ||
runID string |
RunID correlates an operation with a reconciliation run. Every time an Etcd resource is reconciled (barring status reconciliation which is periodic), a unique ID is generated which can be used to correlate all actions done as part of a single reconcile run. Capturing this as part of LastOperation aids in establishing this correlation. This further helps in also easily filtering reconcile logs as all structured logs in a reconciliation run should have the runID referenced. |
||
lastUpdateTime Time |
LastUpdateTime is the time at which the operation was last updated. |
LastOperationState¶
Underlying type: string
LastOperationState is a string alias representing the state of the last operation.
Appears in: - LastOperation
Field | Description |
---|---|
Processing |
LastOperationStateProcessing indicates that an operation is in progress. |
Succeeded |
LastOperationStateSucceeded indicates that an operation has completed successfully. |
Error |
LastOperationStateError indicates that an operation is completed with errors and will be retried. |
Requeue |
LastOperationStateRequeue indicates that an operation is not completed and either due to an error or unfulfilled conditions will be retried. |
LastOperationType¶
Underlying type: string
LastOperationType is a string alias representing type of the last operation.
Appears in: - LastOperation
Field | Description |
---|---|
Create |
LastOperationTypeCreate indicates that the last operation was a creation of a new Etcd resource. |
Reconcile |
LastOperationTypeReconcile indicates that the last operation was a reconciliation of the spec of an Etcd resource. |
Delete |
LastOperationTypeDelete indicates that the last operation was a deletion of an existing Etcd resource. |
LeaderElectionSpec¶
LeaderElectionSpec defines parameters related to the LeaderElection configuration.
Appears in: - BackupSpec
Field | Description | Default | Validation |
---|---|---|---|
reelectionPeriod Duration |
ReelectionPeriod defines the Period after which leadership status of corresponding etcd is checked. | ||
etcdConnectionTimeout Duration |
EtcdConnectionTimeout defines the timeout duration for etcd client connection during leader election. |
MetricsLevel¶
Underlying type: string
MetricsLevel defines the level 'basic' or 'extensive'.
Validation: - Enum: [basic extensive]
Appears in: - EtcdConfig
Field | Description |
---|---|
basic |
Basic is a constant for metrics level basic. |
extensive |
Extensive is a constant for metrics level extensive. |
SchedulingConstraints¶
SchedulingConstraints defines the different scheduling constraints that must be applied to the pod spec in the etcd statefulset. Currently supported constraints are Affinity and TopologySpreadConstraints.
Appears in: - EtcdSpec
Field | Description | Default | Validation |
---|---|---|---|
affinity Affinity |
Affinity defines the various affinity and anti-affinity rules for a pod that are honoured by the kube-scheduler. |
||
topologySpreadConstraints TopologySpreadConstraint array |
TopologySpreadConstraints describes how a group of pods ought to spread across topology domains, that are honoured by the kube-scheduler. |
SecretReference¶
SecretReference defines a reference to a secret.
Appears in: - TLSConfig
Field | Description | Default | Validation |
---|---|---|---|
name string |
name is unique within a namespace to reference a secret resource. | ||
namespace string |
namespace defines the space within which the secret name must be unique. | ||
dataKey string |
DataKey is the name of the key in the data map containing the credentials. |
SharedConfig¶
SharedConfig defines parameters shared and used by Etcd as well as backup-restore sidecar.
Appears in: - EtcdSpec
Field | Description | Default | Validation |
---|---|---|---|
autoCompactionMode CompactionMode |
AutoCompactionMode defines the auto-compaction-mode:'periodic' mode or 'revision' mode for etcd and embedded-etcd of backup-restore sidecar. | Enum: [periodic revision] |
|
autoCompactionRetention string |
AutoCompactionRetention defines the auto-compaction-retention length for etcd as well as for embedded-etcd of backup-restore sidecar. |
StorageProvider¶
Underlying type: string
StorageProvider defines the type of object store provider for storing backups.
Appears in: - StoreSpec
StoreSpec¶
StoreSpec defines parameters related to ObjectStore persisting backups
Appears in: - BackupSpec - EtcdCopyBackupsTaskSpec
Field | Description | Default | Validation |
---|---|---|---|
container string |
Container is the name of the container the backup is stored at. | ||
prefix string |
Prefix is the prefix used for the store. | ||
provider StorageProvider |
Provider is the name of the backup provider. | ||
secretRef SecretReference |
SecretRef is the reference to the secret which used to connect to the backup store. |
TLSConfig¶
TLSConfig hold the TLS configuration details.
Appears in: - BackupSpec - EtcdConfig
Field | Description | Default | Validation |
---|---|---|---|
tlsCASecretRef SecretReference |
|||
serverTLSSecretRef SecretReference |
|||
clientTLSSecretRef SecretReference |
WaitForFinalSnapshotSpec¶
WaitForFinalSnapshotSpec defines the parameters for waiting for a final full snapshot before copying backups.
Appears in: - EtcdCopyBackupsTaskSpec
Field | Description | Default | Validation |
---|---|---|---|
enabled boolean |
Enabled specifies whether to wait for a final full snapshot before copying backups. | ||
timeout Duration |
Timeout is the timeout for waiting for a final full snapshot. When this timeout expires, the copying of backups will be performed anyway. No timeout or 0 means wait forever. |