Releases: gardener/etcd-druid
Releases · gardener/etcd-druid
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-build
anddocker-push
to build and push etcd-wrapper docker images to the configured registry. by @shreyas-s-rao [gardener/etcd-wrapper#51][DEVELOPER]
The new--etcd-client-port
flag (default:2379
) allows to configure the etcd client port. by @rfranzke [gardener/etcd-wrapper#52][DEVELOPER]
The new--etcd-wrapper-port
flag (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/scale
subresource for Etcd CRD. by @shreyas-s-rao [#1070]
✨ New Features
[DEVELOPER]
It is now possible to run theetcd
pod asroot
by setting.spec.runAsRoot=true
in theEtcd
API. 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/storage
tov1.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 usingapt
package manager and fixed a failing test case involvingetcd-wrapper
process 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 KubernetesclientSet
in the non-HA etcd-backup-restore, please also set the following CLI flags tofalse
:--enable-member-lease-renewal
and--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.go
and 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 labelfailureReason
to 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
&topologySpreadConstraints
on 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.selector
field is now deprecated. by @Shreyas-s14 [#995][USER]
Scale subresource has been removed fromEtcd
resource 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/operation
fromgardener.cloud/operation
by @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 consum 8000 ers 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/samples
directory 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]
RemoveUseEtcdWrapper
feature 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 (previouslyintegrationcluster
tests) 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 etcdbrlatest
tagged 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
,UpdatedReplicas
andLastError
. by @shreyas-s-rao [#990]
📰 Noteworthy
[USER]
Introduce new Etcd status conditionAllMembersUpdated
. by @shreyas-s-rao [#987][DEVELOPER]
Condition statusesProgressing
andConditionCheckError
are now deprecated and will soon be removed, since druid conditions will be replaced bymetav1.Condition
in the future. by @shreyas-s-rao [#987]
🐛 Bug Fixes
[USER]
Updation ofstatus.observedGeneration
and optional removal of thegardener.cloud/operation: reconcile
annotation 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.observedGeneration
field to be updated (and additionally for the removal of thegardener.cloud/operation: reconcile
annotation is CLI flagenable-spec-auto-reconcile
is 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.trafficDistribution
field. 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
v0.26.0
8000
[gardener/etcd-druid]
📰 Noteworthy
[DEVELOPER]
Don't set environment variableAZURE_EMULATOR_ENABLED
for etcd pods. by @shreyas-s-rao [#958][DEVELOPER]
- Updated dependencies:-
Gardener to v1.109.0
-
VGopath to v0.1.5
-
client_golang to v1.20.5
-
go.uber.org/mock to v0.5.0
-
golang.org/x/exp to v0.0.0-20241108190413-2d47ceb2692f
-
k8s.io/api, k8s.io/apimachinery, k8s.io/apiserver, k8s.io/client-go, k8s.io/component-base to v0.31.3
-
k8s.io/utils to v0.0.0-20241104163129-6fe5fd82f078
-
controller-runtime to v0.19.2
-
controller-tools to v0.16.5
-
Ginkgo to v2.22.0
-
Gomega to v1.36.0
-
Refactored
etcd
reconciler and controller registration logic to support unique controller names, ensuring compatibility withcontroller-runtime
v0.19.2. by @seshachalam-yv [#948]
-
✨ New Features
[OPERATOR]
Enable Druid to use GCS Emulator for local setup and running e2e tests using "make ci-e2e-kind-gcs" by @anveshreddy18 [#741]
🏃 Others
[DEVELOPER]
Upgradekind
tov0.26.0
,kindest/node
tov1.32.0
, andkubectl
tov1.32.0
for local development. by @renormalize [#954]
[gardener/etcd-backup-restore]
📰 Noteworthy
[DEVELOPER]
Set umask to0077
to restrict permissions for files created by etcd-backup-restore. by @shreyas-s-rao [gardener/etcd-backup-restore#821][OPERATOR]
etcd-backup-restore now supports immutable objects for storage provider: AWS S3, provided by the Bucket Lock feature. by @ishan16696 [gardener/etcd-backup-restore#818][OPERATOR]
Support for Bucket lock (S3) in etcd-backup-restore is backward compatible. For more info please refer to this doc: https://github.com/gardener/etcd-backup-restore/blob/master/docs/usage/enabling_immutable_snapshots.md. by @ishan16696 [gardener/etcd-backup-restore#818][OPERATOR]
Snapshots garbage collection performed by etcd-backup-restore (if enabled) for S3 is performed only when the snapshots's retention period get expires. by @ishan16696 [gardener/etcd-backup-restore#818]
🏃 Others
[USER]
Tag docker images built via pipeline release process aslatest
. by @shreyas-s-rao [gardener/etcd-backup-restore#824][USER]
Update golang images to v1.23.4. by @shreyas-s-rao [gardener/etcd-backup-restore#817][USER]
Update the helm charts for deploying single & multi node etcd cluster. by @anveshreddy18 [gardener/etcd-backup-restore#813][USER]
Remove usage of environment variables to determine whether storage emulators are enabled. by @shreyas-s-rao [gardener/etcd-backup-restore#819][DEVELOPER]
Example commands to make buckets immutable added to the documentation for the currently supported providers. by @renormalize [gardener/etcd-backup-restore#806][DEVELOPER]
Introducegosec
for Static Application Security Testing (SAST) viamake sast
andmake sast-report
. by @shreyas-s-rao [gardener/etcd-backup-restore#815][OPERATOR]
Enhanced the documentation for enabling immutable snapshots inetcd-backup-restore
, providing detailed guidance and best practices for configuring bucket-level immutability on Google Cloud Storage and Azure Blob Storage. by @seshachalam-yv [gardener/etcd-backup-restore#811]
[gardener/etcd-wrapper]
✨ New Features
[DEVELOPER]
Introducegosec
for Static Application Security Testing (SAST) viamake sast
andmake sast-report
. by @shreyas-s-rao [gardener/etcd-wrapper#34]
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.26.0
v0.25.0
[gardener/etcd-druid]
📰 Noteworthy
[OPERATOR]
Etcd ConfigMap Naming Update: The naming convention has changed to {etcd.Name}-config for consistency, replacing etcd-bootstrap-. Unused old ConfigMaps will be removed in v0.27.0 by @anveshreddy18 [#812][USER]
TheUseEtcdWrapper
feature gate has been promoted to GA and locked totrue
. by @shreyas-s-rao [#936]
🏃 Others
[DEVELOPER]
Enhanced thecheck
make target to ensure the Go version adheres tox.y.0
. by @renormalize [#930][OPERATOR]
Upgrade thealpine
image version to3.20.3
by @renormalize [#916][OPERATOR]
Enhances Etcd configuration by organizing ConfigMap naming convention, enabling snapshot-count configuration, and rectifying URL issues for improved functionality and consistency by @anveshreddy18 [#812]
[gardener/etcd-backup-restore]
⚠️ Breaking Changes
[USER]
The etcd configuration parametersinitial-advertise-peer-urls
andadvertise-client-urls
now accept a structured YAML format where URLs are listed per etcd instance. This replaces the previous unstructured string format with@
as a separator. Existing configurations must be updated to match this new format. To know the new format in detail, check the example config file atpkg/miscellaneous/testdata/valid_config.yaml
by @anveshreddy18 [gardener/etcd-backup-restore#715]
📰 Noteworthy
[OPERATOR]
Snapshots garbage collection performed by etcd-backup-restore (if enabled) for ABS is performed only when the objects' immutability period expires. by @renormalize [gardener/etcd-backup-restore#781][OPERATOR]
etcd-backup-restore now supports immutable objects for storage provider: Azure Blob Storage, provided by the Container Level WORM feature. by @renormalize [gardener/etcd-backup-restore#781][OPERATOR]
Support for Container level WORM (ABS) in etcd-backup-restore is backward compatible. For more info please refer to this doc: https://github.com/gardener/etcd-backup-restore/blob/master/docs/usage/immutable_snapshots.md by @renormalize [gardener/etcd-backup-restore#781]
🏃 Others
[DEVELOPER]
Enhanced thecheck
make target to ensure the Go version adheres tox.y.0
. by @renormalize [gardener/etcd-backup-restore#803][OPERATOR]
Don't skip full snapshot, always trigger a full snapshot independent of new updates to etcd, preventing prometheus alerts of not taking a scheduled full snapshot. by @Shreyas-s14 [gardener/etcd-backup-restore#804]
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.25.0
v0.24.1
[gardener/etcd-druid]
📰 Noteworthy
[DEVELOPER]
Upgradedgithub.com/gardener/etcd-backup-restore
dependency from0.31.0
to0.31.1
. by @renormalize [#928][DEVELOPER]
etcd-druid
will henceforth stick to Go versionsx.y.0
only to be in line with gardener/gardener, kubernetes, controller-runtime. by @renormalize [#929][OPERATOR]
Upgradedetcd-backup-restore
image version tov0.31.1
. by @renormalize [#928]
Docker Images
- etcd-druid:
europe-docker.pkg.dev/gardener-project/releases/gardener/etcd-druid:v0.24.1