Skip to content

API Reference

Packages

config.druid.gardener.cloud/v1alpha1

ClientConnectionConfiguration

ClientConnectionConfiguration defines the configuration for constructing a client.Client to connect to k8s kube-apiserver.

Appears in: - OperatorConfiguration

Field Description Default Validation
qps float QPS controls the number of queries per second allowed for a connection.
Setting this to a negative value will disable client-side rate limiting.
burst integer Burst allows extra queries to accumulate when a client is exceeding its rate.
contentType string ContentType is the content type used when sending data to the server from this client.
acceptContentTypes string AcceptContentTypes defines the Accept header sent by clients when connecting to the server,
overriding the default value of 'application/json'. This field will control all connections
to the server used by a particular client.

CompactionControllerConfiguration

CompactionControllerConfiguration defines the configuration for the compaction controller.

Appears in: - ControllerConfiguration

Field Description Default Validation
enabled boolean Enabled specifies whether backup compaction should be enabled.
concurrentSyncs integer ConcurrentSyncs is the max number of concurrent workers that can be run, each worker servicing a reconcile request.
eventsThreshold integer EventsThreshold denotes total number of etcd events to be reached upon which a backup compaction job is triggered.
activeDeadlineDuration Duration ActiveDeadlineDuration is the duration after which a running compaction job will be killed.
metricsScrapeWaitDuration Duration MetricsScrapeWaitDuration is the duration to wait for after compaction job is completed, to allow Prometheus metrics to be scraped

ControllerConfiguration

ControllerConfiguration defines the configuration for the controllers.

Appears in: - OperatorConfiguration

Field Description Default Validation
disableLeaseCache boolean DisableLeaseCache disables the cache for lease.coordination.k8s.io resources.
Deprecated: This field will be eventually removed. It is recommended to not use this.
It has only been introduced to allow for backward compatibility with the old CLI flags.
etcd EtcdControllerConfiguration Etcd is the configuration for the Etcd controller.
compaction CompactionControllerConfiguration Compaction is the configuration for the compaction controller.
etcdCopyBackupsTask EtcdCopyBackupsTaskControllerConfiguration EtcdCopyBackupsTask is the configuration for the EtcdCopyBackupsTask controller.
secret SecretControllerConfiguration Secret is the configuration for the Secret controller.

EtcdComponentProtectionWebhookConfiguration

EtcdComponentProtectionWebhookConfiguration defines the configuration for EtcdComponentProtection webhook. NOTE: At least one of ReconcilerServiceAccountFQDN or ServiceAccountInfo must be set. It is recommended to switch to ServiceAccountInfo.

Appears in: - WebhookConfiguration

Field Description Default Validation
enabled boolean Enabled indicates whether the EtcdComponentProtection webhook is enabled.
reconcilerServiceAccountFQDN string ReconcilerServiceAccountFQDN is the FQDN of the reconciler service account used by the etcd-druid operator.
Deprecated: Please use ServiceAccountInfo instead and ensure that both Name and Namespace are set via projected volumes and downward API in the etcd-druid deployment spec.
serviceAccountInfo ServiceAccountInfo ServiceAccountInfo contains paths to gather etcd-druid service account information.
exemptServiceAccounts string array ExemptServiceAccounts is a list of service accounts that are exempt from Etcd Components Webhook checks.

EtcdControllerConfiguration

EtcdControllerConfiguration defines the configuration for the Etcd controller.

Appears in: - ControllerConfiguration

Field Description Default Validation
concurrentSyncs integer ConcurrentSyncs is the max number of concurrent workers that can be run, each worker servicing a reconcile request.
enableEtcdSpecAutoReconcile boolean EnableEtcdSpecAutoReconcile controls how the Etcd Spec is reconciled. If set to true, then any change in Etcd spec
will automatically trigger a reconciliation of the Etcd resource. If set to false, then an operator needs to
explicitly set gardener.cloud/operation=reconcile annotation on the Etcd resource to trigger reconciliation
of the Etcd spec.
NOTE: Decision to enable it should be carefully taken as spec updates could potentially result in rolling update
of the StatefulSet which will cause a minor downtime for a single node etcd cluster and can potentially cause a
downtime for a multi-node etcd cluster.
disableEtcdServiceAccountAutomount boolean DisableEtcdServiceAccountAutomount controls the auto-mounting of service account token for etcd StatefulSets.
etcdStatusSyncPeriod Duration EtcdStatusSyncPeriod is the duration after which an event will be re-queued ensuring etcd status synchronization.
etcdMember EtcdMemberConfiguration EtcdMember holds configuration related to etcd members.

EtcdCopyBackupsTaskControllerConfiguration

EtcdCopyBackupsTaskControllerConfiguration defines the configuration for the EtcdCopyBackupsTask controller.

Appears in: - ControllerConfiguration

Field Description Default Validation
enabled boolean Enabled specifies whether EtcdCopyBackupsTaskController should be enabled.
concurrentSyncs integer ConcurrentSyncs is the max number of concurrent workers that can be run, each worker servicing a reconcile request.

EtcdMemberConfiguration

EtcdMemberConfiguration holds configuration related to etcd members.

Appears in: - EtcdControllerConfiguration

Field Description Default Validation
notReadyThreshold Duration NotReadyThreshold is the duration after which an etcd member's state is considered NotReady.
unknownThreshold Duration UnknownThreshold is the duration after which an etcd member's state is considered Unknown.

LeaderElectionConfiguration

LeaderElectionConfiguration defines the configuration for the leader election. It should be enabled when you deploy etcd-druid in HA mode. For single replica etcd-druid deployments it will not really serve any purpose.

Appears in: - OperatorConfiguration

Field Description Default Validation
enabled boolean Enabled specifies whether leader election is enabled. Set this
to true when running replicated instances of the operator for high availability.
leaseDuration Duration LeaseDuration is the duration that non-leader candidates will wait
after observing a leadership renewal until attempting to acquire
leadership of the occupied but un-renewed leader slot. This is effectively the
maximum duration that a leader can be stopped before it is replaced
by another candidate. This is only applicable if leader election is
enabled.
renewDeadline Duration RenewDeadline is the interval between attempts by the acting leader to
renew its leadership before it stops leading. This must be less than or
equal to the lease duration.
This is only applicable if leader election is enabled.
retryPeriod Duration RetryPeriod is the duration leader elector clients should wait
between attempting acquisition and renewal of leadership.
This is only applicable if leader election is enabled.
resourceLock string ResourceLock determines which resource lock to use for leader election.
This is only applicable if leader election is enabled.
resourceName string ResourceName determines the name of the resource that leader election
will use for holding the leader lock.
This is only applicable if leader election is enabled.

LogConfiguration

LogConfiguration contains the configuration for logging.

Appears in: - OperatorConfiguration

Field Description Default Validation
logLevel LogLevel LogLevel is the level/severity for the logs. Must be one of [info,debug,error].
logFormat LogFormat LogFormat is the output format for the logs. Must be one of [text,json].

LogFormat

Underlying type: string

LogFormat is the format of the log.

Appears in: - LogConfiguration

Field Description
json LogFormatJSON is the JSON log format.
text LogFormatText is the text log format.

LogLevel

Underlying type: string

LogLevel represents the level for logging.

Appears in: - LogConfiguration

Field Description
debug LogLevelDebug is the debug log level, i.e. the most verbose.
info LogLevelInfo is the default log level.
error LogLevelError is a log level where only errors are logged.

SecretControllerConfiguration

SecretControllerConfiguration defines the configuration for the Secret controller.

Appears in: - ControllerConfiguration

Field Description Default Validation
concurrentSyncs integer ConcurrentSyncs is the max number of concurrent workers that can be run, each worker servicing a reconcile request.

Server

Server contains information for HTTP(S) server configuration.

Appears in: - ServerConfiguration - TLSServer

Field Description Default Validation
bindAddress string BindAddress is the IP address on which to listen for the specified port.
port integer Port is the port on which to serve unsecured, unauthenticated access.

ServerConfiguration

ServerConfiguration contains the server configurations.

Appears in: - OperatorConfiguration

Field Description Default Validation
webhooks TLSServer Webhooks is the configuration for the TLS webhook server.
metrics Server Metrics is the configuration for serving the metrics endpoint.

ServiceAccountInfo

ServiceAccountInfo contains paths to gather etcd-druid service account information. Usually downward API and projected volumes are used in the deployment specification of etcd-druid to provide this information as mounted volume files.

Appears in: - EtcdComponentProtectionWebhookConfiguration

Field Description Default Validation
name string Name is the name of the service account associated with etcd-druid deployment.
namespace string Namespace is the namespace in which the service account has been deployed.
Usually this information is usually available at /var/run/secrets/kubernetes.io/serviceaccount/namespace.
However, if automountServiceAccountToken is set to false then this file will not be available.

TLSServer

TLSServer is the configuration for a TLS enabled server.

Appears in: - ServerConfiguration

Field Description Default Validation
bindAddress string BindAddress is the IP address on which to listen for the specified port.
port integer Port is the port on which to serve unsecured, unauthenticated access.
serverCertDir string ServerCertDir is the path to a directory containing the server's TLS certificate and key (the files must be
named tls.crt and tls.key respectively).

WebhookConfiguration

WebhookConfiguration defines the configuration for admission webhooks.

Appears in: - OperatorConfiguration

Field Description Default Validation
etcdComponentProtection EtcdComponentProtectionWebhookConfiguration EtcdComponentProtection is the configuration for EtcdComponentProtection webhook.

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. Pattern: ^(\*\|[1-5]?[0-9]\|[1-5]?[0-9]-[1-5]?[0-9]\|(?:[1-9]\|[1-4][0-9]\|5[0-9])\/(?:[1-9]\|[1-4][0-9]\|5[0-9]\|60)\|\*\/(?:[1-9]\|[1-4][0-9]\|5[0-9]\|60))\s+(\*\|[0-9]\|1[0-9]\|2[0-3]\|[0-9]-(?:[0-9]\|1[0-9]\|2[0-3])\|1[0-9]-(?:1[0-9]\|2[0-3])\|2[0-3]-2[0-3]\|(?:[1-9]\|1[0-9]\|2[0-3])\/(?:[1-9]\|1[0-9]\|2[0-4])\|\*\/(?:[1-9]\|1[0-9]\|2[0-4]))\s+(\*\|[1-9]\|[12][0-9]\|3[01]\|[1-9]-(?:[1-9]\|[12][0-9]\|3[01])\|[12][0-9]-(?:[12][0-9]\|3[01])\|3[01]-3[01]\|(?:[1-9]\|[12][0-9]\|30)\/(?:[1-9]\|[12][0-9]\|3[01])\|\*\/(?:[1-9]\|[12][0-9]\|3[01]))\s+(\*\|[1-9]\|1[0-2]\|[1-9]-(?:[1-9]\|1[0-2])\|1[0-2]-1[0-2]\|(?:[1-9]\|1[0-2])\/(?:[1-9]\|1[0-2])\|\*\/(?:[1-9]\|1[0-2]))\s+(\*\|[1-7]\|[1-6]-[1-7]\|[1-6]\/[1-7]\|\*\/[1-7])$
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 Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string
deltaSnapshotPeriod Duration DeltaSnapshotPeriod defines the period after which delta snapshots will be taken Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string
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]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?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 Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string
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
trafficDistribution string TrafficDistribution defines the traffic distribution preference that should be added to the client service.
More info: https://kubernetes.io/docs/reference/networking/virtual-ips/#traffic-distribution
Enum: [PreferClose]

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.
Deprecated: Will be removed in the future since druid conditions will be replaced by metav1.Condition
which has only three status options: True, False, Unknown.
ConditionCheckError ConditionCheckError is a constant for a reason in condition.
Deprecated: Will be removed in the future since druid conditions will be replaced by metav1.Condition
which has only three status options: True, False, Unknown.

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.
AllMembersUpdated ConditionTypeAllMembersUpdated is a constant for a condition type indicating that all members
of the etcd cluster have been updated with the desired spec changes.
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.
snapshotCount integer SnapshotCount 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 string DefragmentationSchedule defines the cron standard schedule for defragmentation of etcd. Pattern: ^(\*\|[1-5]?[0-9]\|[1-5]?[0-9]-[1-5]?[0-9]\|(?:[1-9]\|[1-4][0-9]\|5[0-9])\/(?:[1-9]\|[1-4][0-9]\|5[0-9]\|60)\|\*\/(?:[1-9]\|[1-4][0-9]\|5[0-9]\|60))\s+(\*\|[0-9]\|1[0-9]\|2[0-3]\|[0-9]-(?:[0-9]\|1[0-9]\|2[0-3])\|1[0-9]-(?:1[0-9]\|2[0-3])\|2[0-3]-2[0-3]\|(?:[1-9]\|1[0-9]\|2[0-3])\/(?:[1-9]\|1[0-9]\|2[0-4])\|\*\/(?:[1-9]\|1[0-9]\|2[0-4]))\s+(\*\|[1-9]\|[12][0-9]\|3[01]\|[1-9]-(?:[1-9]\|[12][0-9]\|3[01])\|[12][0-9]-(?:[12][0-9]\|3[01])\|3[01]-3[01]\|(?:[1-9]\|[12][0-9]\|30)\/(?:[1-9]\|[12][0-9]\|3[01])\|\*\/(?:[1-9]\|[12][0-9]\|3[01]))\s+(\*\|[1-9]\|1[0-2]\|[1-9]-(?:[1-9]\|1[0-2])\|1[0-2]-1[0-2]\|(?:[1-9]\|1[0-2])\/(?:[1-9]\|1[0-2])\|\*\/(?:[1-9]\|1[0-2]))\s+(\*\|[1-7]\|[1-6]-[1-7]\|[1-6]\/[1-7]\|\*\/[1-7])$
serverPort integer
clientPort integer
wrapperPort 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 Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string
heartbeatDuration Duration HeartbeatDuration defines the duration for members to send heartbeats. The default value is 10s. Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?$
Type: string
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
podLabels object (keys:string, values:string) PodLabels is a set of labels that will be added to pod(s) created by the copy backups task.
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
Deprecated: this field will be removed in the future.
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
runAsRoot boolean RunAsRoot defines whether the securityContext of the pod specification should indicate that the containers shall
run as root. By default, they run as non-root with user 'nobody'.

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.
lastErrors LastError array LastErrors captures errors that occurred during the last operation.
lastOperation LastOperation LastOperation indicates the last operation performed on this resource.
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.
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)
selector string Selector is a label query over pods that should match the replica count.
It must match the pod template's labels.

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. Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string
etcdConnectionTimeout Duration EtcdConnectionTimeout defines the timeout duration for etcd client connection during leader election. Pattern: ^([0-9]+([.][0-9]+)?h)?([0-9]+([.][0-9]+)?m)?([0-9]+([.][0-9]+)?s)?([0-9]+([.][0-9]+)?d)?$
Type: string

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
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.