Etcd Service Reference

Backups

When backup.enabled is set to true, the chart renders an EtcdBackupSchedule (etcd.aenix.io/v1alpha1) and an S3 credentials Secret. The etcd-operator v0.4.3+ reconciles the schedule into a CronJob that periodically snapshots the cluster to S3.

Enabling backup requires the following fields to be explicitly set (defaults are empty strings so that missing values fail fast at template render time): backup.s3AccessKey, backup.s3SecretKey, backup.destinationPath (must start with s3:// and have no // segments), and backup.endpointURL. S3 credentials passed through plain values end up in the HelmRelease manifest — for production deployments prefer an external secret management tool (ESO, Sealed Secrets, etc.) over committing the keys to Git.

Restore (EtcdCluster.spec.bootstrap) and the one-shot EtcdBackup custom resource shipped upstream in v0.4.3 are not yet exposed through this chart. Restoring from a snapshot or taking an ad-hoc backup currently requires hand-applying the corresponding custom resource manifest.

Parameters

Common parameters

NameDescriptionTypeValue
sizePersistent Volume size.quantity4Gi
storageClassStorageClass used to store the data.string""
replicasNumber of etcd replicas.int3
resourcesResource configuration for etcd.object{}
resources.cpuNumber of CPU cores allocated.quantity1000m
resources.memoryAmount of memory allocated.quantity512Mi

Backup parameters

NameDescriptionTypeValue
backupBackup configuration.object{}
backup.enabledEnable scheduled S3 backups.boolfalse
backup.scheduleCron schedule for automated backups.string0 2 * * *
backup.destinationPathDestination path for backups (e.g. s3://bucket/path/).string""
backup.endpointURLS3 endpoint URL for uploads.string""
backup.regionS3 region.string""
backup.forcePathStyleUse path-style S3 URLs (required for MinIO and most S3-compatible providers).booltrue
backup.s3AccessKeyAccess key for S3 authentication.string""
backup.s3SecretKeySecret key for S3 authentication.string""
backup.successfulJobsHistoryLimitNumber of successful backup jobs to retain.int3
backup.failedJobsHistoryLimitNumber of failed backup jobs to retain.int1