Releases: gardener/etcd-druid
Releases · gardener/etcd-druid
v0.33.0
[github.com/gardener/etcd-druid:v0.33.0]
⚠️ Breaking Changes
[DEVELOPER].ciscripts have been removed. As a consequence, GHA workflows and Dockerfile are now streamlined. by @shreyas-s-rao [#1172][DEVELOPER]make druidhas been replaced bymake buildwith the correct ldflags and args. by @shreyas-s-rao [#1172]
✨ New Features
[OPERATOR]Validations are added toEtcdCopyBackupsTask. by @CaptainIRS [#1155]
🐛 Bug Fixes
[OPERATOR]An issue causingEtcdobjects to not get reconciled onCreatedue to a stalePartialObjectMetadatacache is now fixed. by @shafeeqes [#1188]
🏃 Others
[OPERATOR]Reduces the default value of etcd's--snapshot-countfrom 75,000 to 10,000 set byspec.etcd.snapshotCount. This will reduce memory and disk usage of etcd.
If you rely on the previous default, then setspec.etcd.snapshotCount: 75000to keep the old behavior. by @ishan16696 [#1166][DEVELOPER]Add make targetmake check-license-headersto check missing license headers. by @shreyas-s-rao [#1170]
[github.com/gardener/etcd-backup-restore:v0.39.0]
✨ New Features
[OPERATOR]When using S3 (or a S3-compatible) storage provider you can now configure theresponseChecksumValidationandrequestChecksumCalculationoptions via the secret file by @maboehm [#902][OPERATOR]Cluster ID is now part of the etcd member lease for operators to easily troubleshoot split-brain/split-quorum scenarios. by @CaptainIRS [#913][OPERATOR]GCS snapstore now support web identity authentication.
To be enabled, thecredentialsConfig(orserviceaccount.json) must be configured with credentials of typeexternal_account, additionally in the same directory filesprojectIDandtokenmust be set respectively with the GCP project id and identity token. by @vpnachev [#908]
🏃 Others
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid:v0.33.0
Container (OCI) Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.33.0
v0.32.0
[github.com/gardener/etcd-druid:v0.32.0]
⚠️ Breaking Changes
[OPERATOR]Snapshot compaction resources API has been changed in incompatible way. Refer thesnapshotCompactionSpecsection in the document to learn more on how to configure snapshot compaction controller. by @anveshreddy18 [#1130]
📰 Noteworthy
[OPERATOR]EtcdStatus.Conditions slice is extended with a new condition typeConditionTypeLastSnapshotCompactionSucceededthat reports the status of last compaction activity ( compaction job / fullSnapshot ). See #1130 for more details. by @anveshreddy18 [#1130]
✨ New Features
[OPERATOR]Trigger full snapshot when spinning up a compaction job is unviable, in order to expedite the successive restoration efforts byetcd-backup-restore. by @anveshreddy18 [#1130]
🐛 Bug Fixes
[OPERATOR]Fix backup-restore TLS related CLI flags to etcd-wrapper. by @anveshreddy18 [#1133]
🏃 Others
[DEVELOPER]migrate CICD-Pipeline to GitHub-Actions by @ccwienk [#1135][DEVELOPER]rotate expired server credentials required for e2e tests to function by @anveshreddy18 [#1137][DEVELOPER]Convert.reuse/dep5toREUSE.toml. by @shreyas-s-rao [#1154][OPERATOR]set stricter predicates for compaction controller : reduce unnecessary reconciliations triggered by job object. by @anveshreddy18 [#1158]
📖 Documentation
[USER]fix documentation typo by @klocke-io [#1138]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid:v0.32.0
Container (OCI) Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.32.0
v0.31.0
[gardener/etcd-druid]
⚠️ Breaking Changes
[OPERATOR]The existing CLI flag reconciler-service-account was optional. Its value is a fully qualified name of the service account used by etcd-druid in the format "system:serviceaccount::". This has now been made required. If you are continuing to use the deprecated CLI fags then you must specify it. Alternatively if you have switched to using the new OperatorConfiguration then you should set "OperatorConfiguration.Webhooks.EtcdComponentProtection.ServiceAccountInfo" instead. by @unmarshall [#1090]
✨ New Features
[DEVELOPER]The new.spec.etcd.wrapperPortfield allows to change the server port ofetcd-wrapper. by @rfranzke [#1086][OPERATOR]Introduced OperatorConfiguration as a replacement to the existing etcd-druid CLI flags. The configuration gets mounted as a ConfigMap onto the etcd-druid Deployment. The existing CLI flags have been marked as deprecated. Their support will be removed after a few releases of etcd-druid. by @unmarshall [#1090]
🐛 Bug Fixes
[DEVELOPER]Fix incorrectly named config field in skaffold profile for e2e tests by @anveshreddy18 [#1134][DEVELOPER]An issue has been fixed which causedetcdpods not to start when port different from the default values were used. by @rfranzke [#1086][OPERATOR]Fix a bug which caused etcd-druid to fail at start up, due to a group mismatch forOperatorConfigurationin its group registration and templates. by @renormalize [#1118][USER]Fix a volume mount issue of providerLocalfor etcd backups by @anveshreddy18 [#1102]
🏃 Others
[USER]Secret controller now manages finalizer on referenced backup-restore TLS secrets. by @shreyas-s-rao [#1125][OPERATOR]replace usage of fake client library in tests with the fake client builder in test/utils directory by @Shreyas-s14 [#1120][OPERATOR]Fixes etcd-druid service template yaml to properly support operator configuration values defined in values.yaml by @unmarshall [#1132][DEVELOPER]Remove the functionality that deletes old ConfigMaps from the cluster by @anveshreddy18 [#1103]
[gardener/etcd-backup-restore]
✨ New Features
[DEVELOPER]AWS SDK has been upgraded to v2. by @vpnachev [gardener/etcd-backup-restore#874]
🏃 Others
[DEVELOPER]Update golang version to1.24.4. by @shreyas-s-rao [gardener/etcd-backup-restore#886]
[gardener/etcd-wrapper]
🏃 Others
[DEVELOPER]Update golang images to1.24.4. by @shreyas-s-rao [gardener/etcd-wrapper#58]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.31.0
Container (OCI) Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.31.0
v0.30.1
[gardener/etcd-wrapper]
🏃 Others
[USER]Change permissions of files in etcd data directory to0600. by @shreyas-s-rao [gardener/etcd-wrapper#56]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.30.1
Container (OCI) Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.30.1
v0.30.0
[gardener/etcd-wrapper]
✨ New Features
[DEVELOPER]Introduce make targetsdocker-buildanddocker-pushto build and push etcd-wrapper docker images to the configured registry. by @shreyas-s-rao [gardener/etcd-wrapper#51][DEVELOPER]The new--etcd-client-portflag (default:2379) allows to configure the etcd client port. by @rfranzke [gardener/etcd-wrapper#52][DEVELOPER]The new--etcd-wrapper-portflag (default:9095) allows to configure the etcd-wrapper server port. by @rfranzke [gardener/etcd-wrapper#52]
🏃 Others
[DEPENDENCY]Update golang version to1.23.5. by @shreyas-s-rao [gardener/etcd-wrapper#42][USER]Change permissions for files in etcd data directory to0640. by @shreyas-s-rao [gardener/etcd-wrapper#51]
[gardener/etcd-druid]
📰 Noteworthy
[USER]Re-introduce/scalesubresource for Etcd CRD. by @shreyas-s-rao [#1070]
✨ New Features
[DEVELOPER]It is now possible to run theetcdpod asrootby setting.spec.runAsRoot=truein theEtcdAPI. by @rfranzke [#1088]
🐛 Bug Fixes
[OPERATOR]Fix the etcd reconciler bug that was introduced in #1070 by @renormalize [#1091]
🏃 Others
[DEVELOPER]Remove unit test, integration test steps from PR jobs in concourse. by @shreyas-s-rao [#1056]
[gardener/etcd-backup-restore]
📰 Noteworthy
[DEPENDENCY]Upgradecloud.google.com/go/storagetov1.50.0. by @renormalize [gardener/etcd-backup-restore#854]
🐛 Bug Fixes
[USER]Fix regression in cleanup of snapshot temporary directory. by @seshachalam-yv [gardener/etcd-backup-restore#876][USER]Fix regression for snapshot temp dir cleanup when no snapstore configured. by @shreyas-s-rao [gardener/etcd-backup-restore#882]
🏃 Others
[USER]Clean up snapshot temp directory during initialization. by @shreyas-s-rao [gardener/etcd-backup-restore#869][DEVELOPER]Updated e2e test setup to install provider CLIs usingaptpackage manager and fixed a failing test case involvingetcd-wrapperprocess PID retrieval. by @anveshreddy18 [gardener/etcd-backup-restore#862][DEVELOPER]Upgrade the concourse pipeline togo1.24.1. by @renormalize [gardener/etcd-backup-restore#859]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.30.0
Container (OCI) Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.30.0
v0.29.1
[gardener/etcd-backup-restore]
🏃 Others
[OPERATOR]Support non-HA autonomous clusters by skipping creation of Kubernetes clientset.
⚠️ To completely prevent the creation of the KubernetesclientSetin the non-HA etcd-backup-restore, please also set the following CLI flags tofalse:--enable-member-lease-renewaland--enable-snapshot-lease-renewal. by @ishan16696 [gardener/etcd-backup-restore#870]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.29.1
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.29.1
v0.29.0
[gardener/etcd-druid]
⚠️ Breaking Changes
[DEVELOPER]Upgraded to golang 1.24.
Removed the need forhack/tools.goand instead using first class support for tools in go.mod.
Please update local go version to 1.24. by @unmarshall [#1041]
📰 Noteworthy
[USER]compaction job metrics are now enhanced with the new labelfailureReasonto query the reason for failure job failures. by @anveshreddy18 [#1039]
🏃 Others
[DEPENDENCY]Bump versions of tools used for tests and checks. by @renormalize [#1042][OPERATOR]feature operator
Add possibility to addnodeSelector,affinity,tolerations&topologySpreadConstraintson the helm charts by @Hirostil [#1043][OPERATOR]Component containers, which do not require privilege escalations, now forbid privilege escalation explicitly. by @georgibaltiev [#1038][OPERATOR]Added CEL expression to prevent unsetting and setting of immutable fields in etcd.Spec after creation. by @Shreyas-s14 [#1053]
[gardener/etcd-wrapper]
🏃 Others
[DEPENDENCY]Upgrade Go to 1.24, and dependencies. by @renormalize [gardener/etcd-wrapper#48][OPERATOR]Upgrade indirect dependencies. by @renormalize [gardener/etcd-wrapper#50]
[gardener/etcd-backup-restore]
📰 Noteworthy
[DEVELOPER]Introducegolangci-lint,goimports-reviser,goimports, upgrade tool versions, etc. by @renormalize [gardener/etcd-backup-restore#863][USER]Added a support for skipping or ignoring any snapshot in an object lock-enabled S3 bucket. For more information please refer to this doc: https://github.com/gardener/etcd-backup-restore/blob/master/docs/usage/enabling_immutable_snapshots.md#aws-s3 by @renormalize [gardener/etcd-backup-restore#863]
🏃 Others
[DEVELOPER]Upgrade Go to 1.24, and dependencies. by @renormalize [gardener/etcd-backup-restore#863]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.29.0
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.29.0
v0.28.0
[gardener/etcd-druid]
⚠️ Breaking Changes
[USER]The fieldetcd.spec.selectorfield is now deprecated. by @Shreyas-s14 [#995][USER]Scale subresource has been removed fromEtcdresource until etcd-druid can natively support handling VPA recommendations. by @unmarshall [#988][DEVELOPER]* API import path has changed, it is now github.com/gardener/etcd-druid/api/core/v1alpha1- Annotation key to reconcile an Etcd cluster has been changed to
druid.gardener.cloud/operationfromgardener.cloud/operationby @unmarshall [#988]
- Annotation key to reconcile an Etcd cluster has been changed to
📰 Noteworthy
[USER]etcd-druid helm charts will now be published as an OCI artifact to a public OCI registry. by @unmarshall [#988][OPERATOR]cleanup unused older configmaps with the naming formatetcd-bootstrap-UID[:6]from the cluster. by @anveshreddy18 [#1014][OPERATOR]Introduces 'Etcdcustom resource validations using CEL expressions. This will be available for kubernetes clusters with version >= 1.29 only. For kubernetes clusters with version < 1.29,Etcd` CRD will not contain validations using CEL expressions. by @Shreyas-s14 [#995][DEVELOPER]It is now possible to get the CRDs as string via the go API. by @unmarshall [#988][DEVELOPER]Programatic access to the CRDs via the API is available using theapi/core/crds/GetAll()function, which now accepts k8sVersion as a parameter, in order to return the correct CRD, either with CEL validations for k8s versions v1.29 and above, or without CEL validation for k8s versions below 1.29. by @Shreyas-s14 [#995][DEPENDENCY]With this PR, dependency on utilities from https://github.com/gardener/gardener has been removed. by @unmarshall [#988]
✨ New Features
[DEVELOPER]Change the GetAll CRD API to return a map with keys having CRD names instead of Kind. by @unmarshall [#1024][OPERATOR]EtcdCopyBackupTask introduces a new field spec.PodLabels which should be used to setup additional labels on the pod(s) that are started for etcd-copy-backup operation. by @unmarshall [#988][USER]Generated etcd-druid client is now its own go module. This go module provides access to a typed client for all custom resources introduced in the API go module. This will ensure that consumers will always have a lean dependency weight when using the client. by @unmarshall [#988]
🏃 Others
[DEVELOPER]Removed the unmaintained support for deployment of etcd-druid via kustomize by @unmarshall [#988][DEVELOPER]PKI resources required for helm charts are now generated on the fly when running 'make deploy*' targets.
CRDs are no longer checked-in at 2 places. There is a single source of truth for all CRDs and that is 'etcd-druid/api/core/crds'. Prior to using 'make deploy*' targets this will be copied to 'etcd-druid/charts/crds' directory. by @unmarshall [#988][DEVELOPER]To run use skaffold via 'make deploy*' targets it is no longer required to run 'gcloud auth login' by @unmarshall [#988][DEVELOPER]It is recommended that consumers of etcd-druid should depend upon the API go module instead of the parent go-module. In go.mod your dependency should be ongithub.com/gardener/etcd-druid/api. by @unmarshall [#988][DEVELOPER]Added convenience make targets- 'clean-chart-resources' which will clean up all copied and generated resources prior to using helm charts
- 'prepare-helm-charts' which will prepare the helm charts by copying the CRD yamls and generating the PKI resources for the webhook. by @unmarshall [#988]
[DEVELOPER]Samples for etcd-druid are now present atetcd-druid/samplesdirectory by @unmarshall [#988][DEPENDENCY]Remove the direct depedency ongopkg.in/yaml.v2. by @renormalize [#1027][OPERATOR]Update alpine image version to3.21.3. by @shreyas-s-rao [#1009][OPERATOR]RemoveUseEtcdWrapperfeature gate since it is now out of GA and always enabled. by @shreyas-s-rao [#999][OPERATOR]Temporarily removes CEL validations for StorageCapacity to allow users to correctly configure volume size to be at least 3 times that of etcd DB size. by @unmarshall [#1032]
📖 Documentation
[DEVELOPER]Added a document to describe how to use the etcd-druid helm charts by @unmarshall [#988]
[gardener/etcd-backup-restore]
🐛 Bug Fixes
[USER]Fixed a bug that caused restoration to fail when the first delta snapshot completely overlap with the latest full snapshot. by @ishan16696 [gardener/etcd-backup-restore#845]
🏃 Others
[DEVELOPER]Revive e2e tests (previouslyintegrationclustertests) and enable them to run with AWS, GCP, AZURE cloud providers and their emulators. by @anveshreddy18 [gardener/etcd-backup-restore#743][DEVELOPER]Upgrade togo1.23.6. by @renormalize [gardener/etcd-backup-restore#842]
Helm Charts
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/charts/gardener/etcd-druid/etcd-druid:v0.28.0
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.28.0
v0.27.0
[gardener/etcd-backup-restore]
📰 Noteworthy
[OPERATOR]Ensure the integrity of the full snapshot prior to uploading it to the object store, thereby reducing the potential restoration failures. by @ishan16696 [gardener/etcd-backup-restore#779]
🏃 Others
[DEPENDENCY]Update golang version to1.23.5. by @shreyas-s-rao [gardener/etcd-backup-restore#831][USER]Use etcdbrlatesttagged image in the helm charts by @anveshreddy18 [gardener/etcd-backup-restore#830]
[gardener/etcd-druid]
⚠️ Breaking Changes
[OPERATOR]Remove deprecated CLI flagignore-operation-annotation. by @shreyas-s-rao [#990][USER]Remove support for deprecated annotationdruid.gardener.cloud/ignore-reconciliation. by @shreyas-s-rao [#990][USER]Remove deprecated status fieldsServiceName,ClusterSize,UpdatedReplicasandLastError. by @shreyas-s-rao [#990]
📰 Noteworthy
[USER]Introduce new Etcd status conditionAllMembersUpdated. by @shreyas-s-rao [#987][DEVELOPER]Condition statusesProgressingandConditionCheckErrorare now deprecated and will soon be removed, since druid conditions will be replaced bymetav1.Conditionin the future. by @shreyas-s-rao [#987]
🐛 Bug Fixes
[USER]Updation ofstatus.observedGenerationand optional removal of thegardener.cloud/operation: reconcileannotation on the Etcd resource are now executed after the reconciliation of the Etcd status, to depict accurate state of the cluster at any given point in time. Users must wait for thestatus.observedGenerationfield to be updated (and additionally for the removal of thegardener.cloud/operation: reconcileannotation is CLI flagenable-spec-auto-reconcileis set to false) to confirm completion of reconciliation. by @shreyas-s-rao [#996]
🏃 Others
[OPERATOR]The Etcd resource now allows specifying etcd client Service traffic distribution preferences via thespec.etcd.clientService.trafficDistributionfield. by @ialidzhikov [#973]
📖 Documentation
[OPERATOR]Add DEP-06: Immutable ETCD Backups by @seshachalam-yv [#884]
[gardener/etcd-wrapper]
🏃 Others
[DEVELOPER]Update golang images to v1.23.5. by @shreyas-s-rao [gardener/etcd-wrapper#42]
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.27.0
v0.26.1
[gardener/etcd-druid]
🏃 Others
[DEPENDENCY]Temporarily downgrade k8s.io dependencies to v0.31.5. by @shreyas-s-rao [#982]
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.26.1