Skip to content

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.