그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그 그

  12 minute read  

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:

FieldDescriptionDefaultValidation
port integerPort define the port on which etcd-backup-restore server will be exposed.
tls TLSConfig
image stringImage defines the etcd container image and tag
store StoreSpecStore defines the specification of object store provider for storing backups.
resources ResourceRequirementsResources defines compute Resources required by backup-restore container.
More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
compactionResources ResourceRequirementsCompactionResources defines compute Resources required by compaction job.
More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
fullSnapshotSchedule stringFullSnapshotSchedule defines the cron standard schedule for full snapshots.
garbageCollectionPolicy GarbageCollectionPolicyGarbageCollectionPolicy defines the policy for garbage collecting old backupsEnum: [Exponential LimitBased]
maxBackupsLimitBasedGC integerMaxBackupsLimitBasedGC defines the maximum number of Full snapshots to retain in Limit Based GarbageCollectionPolicy
All full snapshots beyond this limit will be garbage collected.
garbageCollectionPeriod DurationGarbageCollectionPeriod defines the period for garbage collecting old backups
deltaSnapshotPeriod DurationDeltaSnapshotPeriod defines the period after which delta snapshots will be taken
deltaSnapshotMemoryLimit QuantityDeltaSnapshotMemoryLimit defines the memory limit after which delta snapshots will be taken
deltaSnapshotRetentionPeriod DurationDeltaSnapshotRetentionPeriod 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 CompressionSpecSnapshotCompression defines the specification for compression of Snapshots.
enableProfiling booleanEnableProfiling defines if profiling should be enabled for the etcd-backup-restore-sidecar
etcdSnapshotTimeout DurationEtcdSnapshotTimeout defines the timeout duration for etcd FullSnapshot operation
leaderElection LeaderElectionSpecLeaderElection defines parameters related to the LeaderElection configuration.

ClientService

ClientService defines the parameters of the client service that a user can specify

Appears in:

FieldDescriptionDefaultValidation
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:

FieldDescription
periodicPeriodic is a constant to set auto-compaction-mode ‘periodic’ for duration based retention.
revisionRevision 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:

FieldDescription
gzipGzipCompression is constant for gzip compression policy.
lzwLzwCompression is constant for lzw compression policy.
zlibZlibCompression is constant for zlib compression policy.

CompressionSpec

CompressionSpec defines parameters related to compression of Snapshots(full as well as delta).

Appears in:

FieldDescriptionDefaultValidation
enabled boolean
policy CompressionPolicyEnum: [gzip lzw zlib]

Condition

Condition holds the information about the state of a resource.

Appears in:

FieldDescriptionDefaultValidation
type ConditionTypeType of the Etcd condition.
status ConditionStatusStatus of the condition, one of True, False, Unknown.
lastTransitionTime TimeLast time the condition transitioned from one status to another.
lastUpdateTime TimeLast time the condition was updated.
reason stringThe reason for the condition’s last transition.
message stringA human-readable message indicating details about the transition.

ConditionStatus

Underlying type: string

ConditionStatus is the status of a condition.

Appears in:

FieldDescription
TrueConditionTrue means a resource is in the condition.
FalseConditionFalse means a resource is not in the condition.
UnknownConditionUnknown means Gardener can’t decide if a resource is in the condition or not.
ProgressingConditionProgressing 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.
ConditionCheckErrorConditionCheckError is a constant for a reason in condition.

ConditionType

Underlying type: string

ConditionType is the type of condition.

Appears in:

FieldDescription
ReadyConditionTypeReady is a constant for a condition type indicating that the etcd cluster is ready.
AllMembersReadyConditionTypeAllMembersReady is a constant for a condition type indicating that all members of the etcd cluster are ready.
BackupReadyConditionTypeBackupReady is a constant for a condition type indicating that the etcd backup is ready.
DataVolumesReadyConditionTypeDataVolumesReady is a constant for a condition type indicating that the etcd data volumes are ready.
SucceededEtcdCopyBackupsTaskSucceeded is a condition type indicating that a EtcdCopyBackupsTask has succeeded.
FailedEtcdCopyBackupsTaskFailed is a condition type indicating that a EtcdCopyBackupsTask has failed.

CrossVersionObjectReference

CrossVersionObjectReference contains enough information to let you identify the referred resource.

Appears in:

FieldDescriptionDefaultValidation
kind stringKind of the referent
name stringName of the referent
apiVersion stringAPI version of the referent

ErrorCode

Underlying type: string

ErrorCode is a string alias representing an error code that identifies an error.

Appears in:

Etcd

Etcd is the Schema for the etcds API

FieldDescriptionDefaultValidation
apiVersion stringdruid.gardener.cloud/v1alpha1
kind stringEtcd
metadata ObjectMetaRefer 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:

FieldDescriptionDefaultValidation
quota QuantityQuota defines the etcd DB quota.
snapshotCount integerSnapshotCount defines the number of applied Raft entries to hold in-memory before compaction.
More info: https://etcd.io/docs/v3.4/op-guide/maintenance/#raft-log-retention
defragmentationSchedule stringDefragmentationSchedule defines the cron standard schedule for defragmentation of etcd.
serverPort integer
clientPort integer
image stringImage defines the etcd container image and tag
authSecretRef SecretReference
metrics MetricsLevelMetrics defines the level of detail for exported metrics of etcd, specify ’extensive’ to include histogram metrics.Enum: [basic extensive]
resources ResourceRequirementsResources defines the compute Resources required by etcd container.
More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
clientUrlTls TLSConfigClientUrlTLS contains the ca, server TLS and client TLS secrets for client communication to ETCD cluster
peerUrlTls TLSConfigPeerUrlTLS 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 DurationEtcdDefragTimeout defines the timeout duration for etcd defrag call
heartbeatDuration DurationHeartbeatDuration defines the duration for members to send heartbeats. The default value is 10s.
clientService ClientServiceClientService 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.

FieldDescriptionDefaultValidation
apiVersion stringdruid.gardener.cloud/v1alpha1
kind stringEtcdCopyBackupsTask
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EtcdCopyBackupsTaskSpec
status EtcdCopyBackupsTaskStatus

EtcdCopyBackupsTaskSpec

EtcdCopyBackupsTaskSpec defines the parameters for the copy backups task.

Appears in:

FieldDescriptionDefaultValidation
sourceStore StoreSpecSourceStore defines the specification of the source object store provider for storing backups.
targetStore StoreSpecTargetStore defines the specification of the target object store provider for storing backups.
maxBackupAge integerMaxBackupAge is the maximum age in days that a backup must have in order to be copied.
By default all backups will be copied.
maxBackups integerMaxBackups is the maximum number of backups that will be copied starting with the most recent ones.
waitForFinalSnapshot WaitForFinalSnapshotSpecWaitForFinalSnapshot 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:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represents the latest available observations of an object’s current state.
observedGeneration integerObservedGeneration is the most recent generation observed for this resource.
lastError stringLastError represents the last occurred error.

EtcdMemberConditionStatus

Underlying type: string

EtcdMemberConditionStatus is the status of an etcd cluster member.

Appears in:

FieldDescription
ReadyEtcdMemberStatusReady indicates that the etcd member is ready.
NotReadyEtcdMemberStatusNotReady indicates that the etcd member is not ready.
UnknownEtcdMemberStatusUnknown indicates that the status of the etcd member is unknown.

EtcdMemberStatus

EtcdMemberStatus holds information about etcd cluster membership.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the etcd member. It is the name of the backing Pod.
id stringID is the ID of the etcd member.
role EtcdRoleRole is the role in the etcd cluster, either Leader or Member.
status EtcdMemberConditionStatusStatus of the condition, one of True, False, Unknown.
reason stringThe reason for the condition’s last transition.
lastTransitionTime TimeLastTransitionTime is the last time the condition’s status changed.

EtcdRole

Underlying type: string

EtcdRole is the role of an etcd cluster member.

Appears in:

FieldDescription
LeaderEtcdRoleLeader describes the etcd role Leader.
MemberEtcdRoleMember describes the etcd role Member.

EtcdSpec

EtcdSpec defines the desired state of Etcd

Appears in:

FieldDescriptionDefaultValidation
selector LabelSelectorselector 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 stringPriorityClassName is the name of a priority class that shall be used for the etcd pods.
storageClass stringStorageClass defines the name of the StorageClass required by the claim.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
storageCapacity QuantityStorageCapacity defines the size of persistent volume.
volumeClaimTemplate stringVolumeClaimTemplate defines the volume claim template to be created

EtcdStatus

EtcdStatus defines the observed state of Etcd.

Appears in:

FieldDescriptionDefaultValidation
observedGeneration integerObservedGeneration is the most recent generation observed for this resource.
etcd CrossVersionObjectReference
conditions Condition arrayConditions represents the latest available observations of an etcd’s current state.
serviceName stringServiceName is the name of the etcd service.
Deprecated: this field will be removed in the future.
lastError stringLastError represents the last occurred error.
Deprecated: Use LastErrors instead.
lastErrors LastError arrayLastErrors captures errors that occurred during the last operation.
lastOperation LastOperationLastOperation indicates the last operation performed on this resource.
clusterSize integerCluster 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 integerCurrentReplicas is the current replica count for the etcd cluster.
replicas integerReplicas is the replica count of the etcd cluster.
readyReplicas integerReadyReplicas is the count of replicas being ready in the etcd cluster.
ready booleanReady is true if all etcd replicas are ready.
updatedReplicas integerUpdatedReplicas is the count of updated replicas in the etcd cluster.
Deprecated: this field will be removed in the future.
labelSelector LabelSelectorLabelSelector 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 arrayMembers represents the members of the etcd cluster
peerUrlTLSEnabled booleanPeerUrlTLSEnabled 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:

LastError

LastError stores details of the most recent error encountered for a resource.

Appears in:

FieldDescriptionDefaultValidation
code ErrorCodeCode is an error code that uniquely identifies an error.
description stringDescription is a human-readable message indicating details of the error.
observedAt TimeObservedAt is the time the error was observed.

LastOperation

LastOperation holds the information on the last operation done on the Etcd resource.

Appears in:

FieldDescriptionDefaultValidation
type LastOperationTypeType is the type of last operation.
state LastOperationStateState is the state of the last operation.
description stringDescription describes the last operation.
runID stringRunID 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 TimeLastUpdateTime 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:

FieldDescription
ProcessingLastOperationStateProcessing indicates that an operation is in progress.
SucceededLastOperationStateSucceeded indicates that an operation has completed successfully.
ErrorLastOperationStateError indicates that an operation is completed with errors and will be retried.
RequeueLastOperationStateRequeue 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:

FieldDescription
CreateLastOperationTypeCreate indicates that the last operation was a creation of a new Etcd resource.
ReconcileLastOperationTypeReconcile indicates that the last operation was a reconciliation of the spec of an Etcd resource.
DeleteLastOperationTypeDelete indicates that the last operation was a deletion of an existing Etcd resource.

LeaderElectionSpec

LeaderElectionSpec defines parameters related to the LeaderElection configuration.

Appears in:

FieldDescriptionDefaultValidation
reelectionPeriod DurationReelectionPeriod defines the Period after which leadership status of corresponding etcd is checked.
etcdConnectionTimeout DurationEtcdConnectionTimeout 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:

FieldDescription
basicBasic is a constant for metrics level basic.
extensiveExtensive 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:

FieldDescriptionDefaultValidation
affinity AffinityAffinity defines the various affinity and anti-affinity rules for a pod
that are honoured by the kube-scheduler.
topologySpreadConstraints TopologySpreadConstraint arrayTopologySpreadConstraints 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:

FieldDescriptionDefaultValidation
dataKey stringDataKey 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:

FieldDescriptionDefaultValidation
autoCompactionMode CompactionModeAutoCompactionMode defines the auto-compaction-mode:‘periodic’ mode or ‘revision’ mode for etcd and embedded-etcd of backup-restore sidecar.Enum: [periodic revision]
autoCompactionRetention stringAutoCompactionRetention 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 defines parameters related to ObjectStore persisting backups

Appears in:

FieldDescriptionDefaultValidation
container stringContainer is the name of the container the backup is stored at.
prefix stringPrefix is the prefix used for the store.
provider StorageProviderProvider is the name of the backup provider.
secretRef SecretReferenceSecretRef is the reference to the secret which used to connect to the backup store.

TLSConfig

TLSConfig hold the TLS configuration details.

Appears in:

FieldDescriptionDefaultValidation
tlsCASecretRef SecretReference
serverTLSSecretRef SecretReference
clientTLSSecretRef SecretReference

WaitForFinalSnapshotSpec

WaitForFinalSnapshotSpec defines the parameters for waiting for a final full snapshot before copying backups.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled specifies whether to wait for a final full snapshot before copying backups.
timeout DurationTimeout 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.