- [BUGFIX] Improved handling of URL ports in
createPrepareDownscaleEndpoints
function. The function now correctly preserves the port when replacing the host in the URL. #176
- [ENHANCEMENT] Updated dependencies, including: #174
github.com/prometheus/client_golang
fromv1.19.1
tov1.20.4
github.com/prometheus/common
fromv0.55.0
tov0.59.1
k8s.io/api
fromv0.30.3
tov0.31.1
k8s.io/apimachinery
fromv0.30.3
tov0.31.1
k8s.io/client-go
fromv0.30.3
tov0.31.1
sigs.k8s.io/controller-runtime
fromv0.18.5
tov0.19.0
- [CHANGE] Renamed
grafana.com/rollout-mirror-replicas-from-resource-write-back-status-replicas
annotation tografana.com/rollout-mirror-replicas-from-resource-write-back
, because it was too long (over 64 chars). #171
- [ENHANCEMENT] Updated dependencies, including: #165
github.com/prometheus/client_golang
fromv1.19.0
tov1.19.1
github.com/prometheus/common
fromv0.53.0
tov0.55.0
golang.org/x/sync
fromv0.7.0
tov0.8.0
k8s.io/api
fromv0.30.0
tov0.30.3
k8s.io/apimachinery
fromv0.30.0
tov0.30.3
k8s.io/client-go
fromv0.30.0
tov0.30.3
sigs.k8s.io/controller-runtime
fromv0.18.1
tov0.18.5
- [ENHANCEMENT] Update Go to
1.23
. #168 - [ENHANCEMENT] When mirroring replicas of statefulset, rollout-operator can now skip writing back number of replicas to reference resource, by setting
grafana.com/rollout-mirror-replicas-from-resource-write-back-status-replicas
annotation tofalse
. #169
- [FEATURE] Optionally only scale-up a
StatefulSet
once all of the leaderStatefulSet
replicas are ready. Enable withgrafana.com/rollout-upscale-only-when-leader-ready
annotation set totrue
. #164
- [ENHANCEMENT] prepare-downscale admission webhook: undo prepare-shutdown calls if adding the
last-downscale
annotation fails. #151
- [CHANGE] The docker base images are now based off distroless images rather than Alpine. #149
- The standard base image is now
gcr.io/distroless/static-debian12:nonroot
. - The boringcrypto base image is now
gcr.io/distroless/base-nossl-debian12:nonroot
(for glibc).
- The standard base image is now
- [ENHANCEMENT] Include unique IDs of webhook requests in logs for easier debugging. #150
- [ENHANCEMENT] Include k8s operation username in request debug logs. #152
- [ENHANCEMENT]
rollout-max-unavailable
annotation can now be specified as percentage, e.g.:rollout-max-unavailable: 25%
. Resulting value is computed asfloor(replicas * percentage)
, but is never less than 1. #153 - [ENHANCEMENT] Delayed downscale of statefulset can now reduce replicas earlier, if subset of pods at the end of statefulset have already reached their delay. #156
- [BUGFIX] Fix a mangled error log in controller's delayed downscale code. #154
- [ENHANCEMENT] If the POST to prepare-shutdown fails for any replica, attempt to undo the operation by issuing an HTTP DELETE to prepare-shutdown for all target replicas. #146
- [CHANGE] Rollout-operator is now released under an Apache License 2.0. #139, #140
- [ENHANCEMENT] Updated dependencies, including: #144
github.com/prometheus/common
fromv0.49.0
tov0.53.0
k8s.io/api
fromv0.29.2
tov0.30.0
k8s.io/apimachinery
fromv0.29.2
tov0.30.0
k8s.io/client-go
fromv0.29.2
tov0.30.0
- [FEATURE] Rollout-operator can now "mirror" replicas of statefulset from any reference resource.
status.replicas
field of reference resource is kept up-to-date with current number of replicas in target statefulset. #129 - [FEATURE] Rollout-operator can optionally delay downscale of statefulset when mirroring replicas from reference resource. Delay is coordinated with downscaled pods via new endpoint that pods must implement. #131
- [ENHANCEMENT] Update Go to
1.22
. #133 - [ENHANCEMENT] Updated dependencies, including: #137
github.com/prometheus/client_golang
fromv1.18.0
tov1.19.0
github.com/prometheus/common
fromv0.45.0
tov0.49.0
k8s.io/api
fromv0.29.0
tov0.29.2
k8s.io/apimachinery
fromv0.29.0
tov0.29.2
k8s.io/client-go
fromv0.29.0
tov0.29.2
- [BUGFIX] Consider missing pods as not ready. #127
- [ENHANCEMENT] Add metrics for Kubernetes control plane calls. #118 #123
- [FEATURE] Coordinate downscaling between zones with a ConfigMap instead of annotation, optionally, via the new zoneTracker for the prepare-downscale admission webhook. #107
- [ENHANCEMENT] Expose pprof endpoint for profiling. #109
- [ENHANCEMENT] Change Docker build image to
golang:1.21-bookworm
and update base image toalpine:3.19
. #97 - [ENHANCEMENT] Add basic tracing support. #101 #114 #115
- [ENHANCEMENT] Updated dependencies, including: #111
github.com/gorilla/mux
fromv1.8.0
tov1.8.1
github.com/prometheus/client_golang
fromv1.17.0
tov1.18.0
golang.org/x/sync
fromv0.5.0
tov0.6.0
k8s.io/api
fromv0.28.3
tov0.29.0
k8s.io/apimachinery
fromv0.28.3
tov0.29.0
k8s.io/client-go
fromv0.28.3
tov0.29.0
- [BUGFIX] Do not allow downscale if the operator failed to check whether there are StatefulSets with non-updated replicas. #105
- [ENHANCEMENT] Proceed with prepare-downscale operation even when pods from zone being downscaled are not ready or not up to date. #99
- [ENHANCEMENT] Expose metrics for incoming HTTP requests. #100
- [ENHANCEMENT] Updated dependencies, including: #93
github.com/prometheus/client_golang
fromv1.16.0
tov1.17.0
github.com/prometheus/common
fromv0.44.0
tov0.45.0
golang.org/x/sync
fromv0.3.0
tov0.4.0
k8s.io/api
fromv0.28.1
tov0.28.3
k8s.io/apimachinery
fromv0.28.1
tov0.28.3
k8s.io/client-go
fromv0.28.1
tov0.28.3
- [BUGFIX] Do not exit reconciliation early if there are errors while trying to adjust the number of replicas. #92
- [BUGFIX] Do not exit reconciliation early if there are errors while trying to adjust the number of replicas. #90
- [ENHANCEMENT] Update the prepare-downscale webhook to check that a rollout is not in progress in the rollout-group, else deny. #82
- [ENHANCEMENT] Update Go to
1.21
. #77 - [ENHANCEMENT] Updated dependencies, including: #78
github.com/k3d-io/k3d/v5
fromv5.5.2
tov5.6.0
k8s.io/api
fromv0.27.4
tov0.28.1
k8s.io/apimachinery
fromv0.27.4
tov0.28.1
k8s.io/client-go
fromv0.27.4
tov0.28.1
- [ENHANCEMENT] Updated dependencies, including: #70
github.com/k3d-io/k3d/v5
fromv5.5.1
tov5.5.2
github.com/prometheus/client_golang
fromv1.15.1
tov1.16.0
github.com/sirupsen/logrus
fromv1.9.2
tov1.9.3
golang.org/x/sync
fromv0.2.0
tov0.3.0
k8s.io/api
fromv0.27.2
tov0.27.4
k8s.io/apimachinery
fromv0.27.2
tov0.27.4
k8s.io/client-go
fromv0.27.2
tov0.27.4
- [FEATURE] Publish an additional boringcrypto image for linux/amd64,linux/arm64. #71
- [ENHANCEMENT] Update the intermediate build container for the Docker image to
golang:1.20-alpine3.18
. #71
- [ENHANCEMENT] Update Go to
1.20.4
. #55 - [ENHANCEMENT] Update Docker base image to
alpine:3.18
. #56 - [ENHANCEMENT] Add the ability to scale statefulsets up and down based on the number of replicas in a "leader" statefulset. #62
- [ENHANCEMENT] Updated dependencies, including: #63
github.com/k3d-io/k3d/v5
fromv5.4.9
tov5.5.1
github.com/prometheus/client_golang
fromv1.15.0
tov1.15.1
github.com/prometheus/common
fromv0.42.0
tov0.44.0
github.com/sirupsen/logrus
fromv1.9.0
tov1.9.2
github.com/stretchr/testify
fromv1.8.2
tov1.8.4
go.uber.org/atomic
fromv1.10.0
tov1.11.0
golang.org/x/sync
fromv0.1.0
tov0.2.0
k8s.io/api
fromv0.26.2
tov0.27.2
k8s.io/apimachinery
fromv0.26.2
tov0.27.2
k8s.io/client-go
fromv0.26.2
tov0.27.2
- [ENHANCEMENT] Add an
/admission/prepare-downscale
mutating admission webhook that prepares pods for shutdown before downscaling. #47 #52 - [ENHANCEMENT] Update Go to
1.20.3
. #48 - [ENHANCEMENT] Updated dependencies, including: #49
github.com/k3d-io/k3d/v5
fromv5.4.7
tov5.4.9
github.com/prometheus/client_golang
fromv1.14.0
tov1.15.0
github.com/prometheus/common
fromv0.39.0
tov0.42.0
github.com/stretchr/testify
fromv1.8.1
tov1.8.2
go.uber.org/atomic
fromv1.9.0
tov1.10.0
k8s.io/api
fromv0.26.1
tov0.26.2
k8s.io/apimachinery
fromv0.26.1
tov0.26.2
k8s.io/client-go
fromv0.26.1
tov0.26.2
- [ENHANCEMENT] Update Go to
1.20.1
. #39 - [ENHANCEMENT] Updated dependencies, including: #39 #42
github.com/k3d-io/k3d/v5
fromv5.4.6
tov5.4.7
github.com/prometheus/client_golang
fromv1.13.0
tov1.14.0
github.com/prometheus/common
fromv0.37.0
tov0.39.0
github.com/stretchr/testify
fromv1.8.0
tov1.8.1
k8s.io/api
fromv0.25.3
tov0.26.1
k8s.io/apimachinery
fromv0.25.3
tov0.26.1
k8s.io/client-go
fromv0.25.3
tov0.26.1
github.com/containerd/containerd
fromv1.6.15
tov1.6.18
for CVE-2023-25153 and CVE-2023-25173golang.org/x/net
fromv0.5.0
tov0.8.0
for CVE-2022-41723
- [ENHANCEMENT] Update Docker base image to
alpine:3.17
. #40 - [ENHANCEMENT] The image published is now a linux/amd64,linux/arm64 multi-platform image. #40
- [ENHANCEMENT] Update Go to
1.19.4
. #29 - [ENHANCEMENT] Added
-reconcile.interval
option to configure the minimum reconciliation interval. #30 - [ENHANCEMENT] Update dependencies to address CVEs, including: #34
github.com/containerd/containerd
fromv1.6.8
tov1.6.15
for CVE-2022-23471golang.org/x/net
fromv0.1.0
tov0.5.0
for CVE-2022-41717
- [FEATURE]
ValidatingAdmissionWebhook
implementation to prevent downscales on certain resources. #25
- [ENHANCEMENT] Update Docker base image to
alpine:3.16
. #23 - [ENHANCEMENT] Update the minimum go version to
1.18
. #23 - [ENHANCEMENT] Update dependencies to address CVEs, including: #23
github.com/gogo/protobuf
fromv1.3.1
tov1.3.2
github.com/prometheus/client_golang
fromv1.11.0
tov1.13.0
golang.org/x/crypto
fromv0.0.0-20200622213623-75b288015ac9
tov0.1.0
k8s.io/client-go
fromv0.18.17
tov0.25.3
- [ENHANCEMENT] Improve log messages about not read statefulset. #19
- [BUGFIX] Detect as not-ready pods which are terminating but their readiness probe hasn't failed yet. #20
- [BUGFIX] Fix metrics deletion on decommissioned rollout group. #11
- [FEATURE] Coordinate rollout of pods belonging to multiple StatefulSets identified by the same
rollout-group
label. #1 #5 #6 - [FEATURE] Expose Prometheus metrics at
/metrics
. #4 - [FEATURE] Add readiness probe at
/ready
. #6