๐Announcement ๐
We are pleased to announce the release of version 1.3.0 of GoKubeDownscaler. This release represents a significant milestone as it officially brings the project to GA and brings it into feature parity with the original, popular PyKubeDownscaler written in Python.
๐ Release Notes ๐
- All py-kube-downscaler features are now available in GoKubeDownscaler
- Introduction of Metrics: Starting today, GoKubeDownscaler exposes a series of metrics that can be used for production alerts, general statistics, and tracking of CPU and memory savings. Metrics can be exposed using the
--metricsargument. - Performance Optimizations: GoKubeDownscaler introduces new quality-of-life performance improvements. API calls have been optimized and reduced, multithreaded execution has been introduced, leveraging Go's native parallelism. Resource usage has been minimized, especially during idle situations.
- Webhook Introduction: An optional webhook has been introduced that can perform scaling during resource admission phases. This is very useful for ensuring cluster compliance and avoiding unnecessary scale-ups that could occur if a resource is deployed between two KubeDownscaler cycles. The webhook can be installed via Helm Chart.
- Regulated API Server Access: GoKubeDownscaler now natively supports and customizes QPS and Burst values to avoid saturating the API Server during downscaling peaks. The user can adjust these values using the
--qpsand--burstarguments. - Introducing JSON Logs: GoKubeDownscaler can now print logs in JSON format using the
--json-logsargument.
๐ท๏ธ What's Changed ๐ท๏ธ
- chore(deps): bump the version-bump group in /website with 3 updates by @dependabot[bot] in #182
- fix: role creation by @JTaeuber in #180
- chore(deps): bump the version-bump group in /website with 3 updates by @dependabot[bot] in #183
- chore(deps): bump golang from 1.24.1 to 1.24.2 in the version-bump group by @dependabot[bot] in #184
- chore(deps): bump image-size from 1.2.0 to 1.2.1 in /website by @dependabot[bot] in #185
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #186
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #187
- chore(deps): bump the version-bump group in /website with 4 updates by @dependabot[bot] in #188
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #189
- chore(deps): bump github.com/kedacore/keda/v2 from 2.16.1 to 2.17.0 in the version-bump group by @dependabot[bot] in #190
- chore(deps): bump estree-util-value-to-estree from 3.3.2 to 3.3.3 in /website by @dependabot[bot] in #191
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.98 to 1.4.99 in the version-bump group by @dependabot[bot] in #192
- chore(deps): bump the version-bump group in /website with 4 updates by @dependabot[bot] in #193
- chore(deps-dev): bump the version-bump group across 1 directory with 3 updates by @dependabot[bot] in #196
- chore(deps): bump the version-bump group with 3 updates by @dependabot[bot] in #194
- chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /website by @dependabot[bot] in #197
- Feat/avoid parsing namespace scope multiple times by @samuel-esp in #142
- chore(deps): bump the version-bump group with 4 updates by @dependabot[bot] in #199
- Feat/improve error handling by @JTaeuber in #198
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.100 to 1.4.101 in the version-bump group by @dependabot[bot] in #201
- Fix/security findings by @JTaeuber in #200
- fix: permissions for label removal by @JTaeuber in #202
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #204
- fix: deployment permissions by @JTaeuber in #205
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #207
- chore(deps): bump @eslint/compat from 1.2.8 to 1.2.9 in /website in the version-bump group by @dependabot[bot] in #208
- chore(deps-dev): bump eslint from 9.25.1 to 9.26.0 in /website in the version-bump group by @dependabot[bot] in #209
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #210
- chore(deps): bump golang from 1.24.2 to 1.24.3 in the version-bump group by @dependabot[bot] in #211
- chore(deps): bump the version-bump group with 2 updates by @dependabot[bot] in #212
- chore(deps): bump actions/setup-go from 5.4.0 to 5.5.0 in the version-bump group by @dependabot[bot] in #213
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #214
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #216
- chore(deps): bump the version-bump group with 2 updates by @dependabot[bot] in #215
- Feat/scale workload only if its ownerReference is among includedResources by @samuel-esp in #171
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #218
- chore(deps): bump the version-bump group with 5 updates by @dependabot[bot] in #217
- chore(deps): bump undici from 6.21.1 to 6.21.3 in /website by @dependabot[bot] in #219
- chore(deps-dev): bump eslint from 9.26.0 to 9.27.0 in /website in the version-bump group by @dependabot[bot] in #220
- chore(deps): bump the version-bump group in /website with 8 updates by @dependabot[bot] in #223
- chore(deps): bump the version-bump group across 1 directory with 4 updates by @dependabot[bot] in #226
- chore(deps): bump the version-bump group with 2 updates by @dependabot[bot] in #227
- chore(deps): bump the version-bump group in /website with 3 updates by @dependabot[bot] in #228
- chore(deps): bump github.com/argoproj/argo-rollouts from 1.8.2 to 1.8.3 in the version-bump group by @dependabot[bot] in #229
- chore(deps): bump golang from 1.24.3 to 1.24.4 in the version-bump group by @dependabot[bot] in #230
- Feat/scale podDisruptionBudgets with percentage values by @samuel-esp in #222
- chore(deps): bump the version-bump group across 1 directory with 14 updates by @dependabot[bot] in #235
- Refactor/website by @samuel-esp in #173
- chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /website by @dependabot[bot] in #237
- chore(deps-dev): bump the version-bump group in /website with 3 updates by @dependabot[bot] in #236
- chore(deps): bump undici from 6.21.1 to 6.21.3 in /website by @dependabot[bot] in #238
- fix: security vulnerability issue template name not being unique by @jonathan-mayer in #239
- chore(deps): bump @easyops-cn/docusaurus-search-local from 0.51.0 to 0.51.1 in /website in the version-bump group by @dependabot[bot] in #240
- chore(deps): bump the version-bump group across 1 directory with 5 updates by @dependabot[bot] in #242
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.101 to 1.4.103 in the version-bump group by @dependabot[bot] in #244
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #243
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.103 to 1.4.105 in the version-bump group by @dependabot[bot] in #245
- chore(deps): bump @eslint/compat from 1.3.0 to 1.3.1 in /website in the version-bump group by @dependabot[bot] in #247
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.105 to 1.4.106 in the version-bump group by @dependabot[bot] in #246
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.106 to 1.4.107 in the version-bump group by @dependabot[bot] in #248
- chore(deps): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #249
- chore(deps-dev): bump eslint from 9.29.0 to 9.30.0 in /website in the version-bump group by @dependabot[bot] in #250
- feat: add deadcode check by @jonathan-mayer in #251
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #252
- chore(deps-dev): bump eslint from 9.30.0 to 9.30.1 in /website in the version-bump group by @dependabot[bot] in #253
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #254
- chore(deps): bump golang from 1.24.4 to 1.24.5 in the version-bump group by @dependabot[bot] in #255
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.107 to 1.4.108 in the version-bump group by @dependabot[bot] in #256
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.108 to 1.4.109 in the version-bump group by @dependabot[bot] in #257
- fix: pre commit issues after updating linters by @jonathan-mayer in #265
- chore(deps): bump the version-bump group across 1 directory with 7 updates by @dependabot[bot] in #261
- chore(deps): bump on-headers and compression in /website by @dependabot[bot] in #263
- chore(deps): bump the version-bump group across 1 directory with 6 updates by @dependabot[bot] in #264
- chore(deps): bump the version-bump group across 1 directory with 7 updates by @dependabot[bot] in #273
- chore(deps): bump the version-bump group across 1 directory with 7 updates by @dependabot[bot] in #272
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #271
- chore(deps): bump golang from 1.24.5 to 1.24.6 in the version-bump group by @dependabot[bot] in #269
- Refactor/installation docs by @samuel-esp in #275
- chore(deps): bump the version-bump group across 1 directory with 4 updates by @dependabot[bot] in #283
- chore(deps): bump the version-bump group across 1 directory with 7 updates by @dependabot[bot] in #282
- chore(deps): bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #280
- chore(deps): bump mermaid from 11.6.0 to 11.10.0 in /website by @dependabot[bot] in #278
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.114 to 1.4.115 in the version-bump group by @dependabot[bot] in #284
- chore(deps): bump the version-bump group across 1 directory with 4 updates by @dependabot[bot] in #288
- chore(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by @dependabot[bot] in #287
- chore(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #286
- chore(deps): bump the version-bump group across 1 directory with 5 updates by @dependabot[bot] in #296
- chore(deps-dev): bump the version-bump group across 1 directory with 3 updates by @dependabot[bot] in #294
- chore(deps): bump golang from 1.25.0 to 1.25.1 in the version-bump group by @dependabot[bot] in #289
- Fix/apiVersion panic in keda external scaling evaluation by @samuel-esp in #295
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #298
- chore(deps): bump github.com/zalando-incubator/stackset-controller from 1.4.117 to 1.4.118 in the version-bump group by @dependabot[bot] in #297
- Fix/add scaled object default kind and apiversion in getExternallyScaled by @samuel-esp in #300
- chore(deps): bump peter-evans/repository-dispatch from 3 to 4 by @dependabot[bot] in #308
- chore(deps): bump the version-bump group across 1 directory with 3 updates by @dependabot[bot] in #313
- chore(deps): bump golang from 1.25.1 to 1.25.2 in the version-bump group by @dependabot[bot] in #312
- chore(deps): bump peter-evans/create-or-update-comment from 4 to 5 by @dependabot[bot] in #310
- chore(deps): bump github.com/kedacore/keda/v2 from 2.17.2 to 2.18.0 in the version-bump group by @dependabot[bot] in #314
- chore(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in #317
- chore(deps): bump the version-bump group with 2 updates by @dependabot[bot] in #316
- chore(deps): bump golang from 1.25.2 to 1.25.3 in the version-bump group by @dependabot[bot] in #315
- Feat/add value to optionally upscale excluded workloads by @samuel-esp in #302
- Feat/expose prometheus metrics by @samuel-esp in #274
- Feat/admission controller by @samuel-esp in #131
- fix: use correct npm package for sentences-per-line markdownlintrule by @jonathan-mayer in #339
- fix: jonathan by @JTaeuber in #343
- chore(deps): bump actions/setup-go from 6.0.0 to 6.1.0 in the version-bump group across 1 directory by @dependabot[bot] in #332
- chore(deps): bump github.com/kedacore/keda/v2 from 2.18.0 to 2.18.3 by @dependabot[bot] in #333
- chore(deps): bump github.com/expr-lang/expr from 1.17.6 to 1.17.7 by @dependabot[bot] in #334
- chore(deps): bump qs and express in /website by @dependabot[bot] in #335
- chore(deps): bump node-forge from 1.3.1 to 1.3.3 in /website by @dependabot[bot] in #336
- chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /website by @dependabot[bot] in #337
- chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /website by @dependabot[bot] in #338
- chore(deps): bump the version-bump group across 1 directory with 18 updates by @dependabot[bot] in #340
- fix: dependencies and config by @JTaeuber in #345
- chore(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #348
- chore(deps): bump toshimaru/auto-author-assign from 2.1.1 to 3.0.1 by @dependabot[bot] in #347
- fix: remove ireturn by @JTaeuber in #349
- chore(deps): bump the version-bump group across 1 directory with 3 updates by @dependabot[bot] in #355
- chore(deps): bump actions/setup-go from 6.1.0 to 6.2.0 in the version-bump group by @dependabot[bot] in #354
- chore(deps): bump the version-bump group with 2 updates by @dependabot[bot] in #351
- Feat/Add PriorityClassName To Helm Chart by @samuel-esp in #362
- Feat/Expose QPS And Burst Arguments by @samuel-esp in #363
- chore(deps): bump the version-bump group across 1 directory with 4 updates by @dependabot[bot] in #365
- chore(deps): bump the version-bump group across 1 directory with 5 updates by @dependabot[bot] in #366
- Fix/Downgrade Controller Runtime to v0.22.5 by @samuel-esp in #367
- Feat/Implement JSON Logs by @samuel-esp in #356
- Chore/Bumping Go Version For Project And Base Images by @samuel-esp in #369
- Refactor/Website Style And Typos by @samuel-esp in #370
- Feat/Added Flags To Kubedownscaler Dockerfile by @samuel-esp in #376
- Chore/Added Build For AdmissionController Image In Github Actions by @samuel-esp in #373
- Feat/Implement Options To Specify Shorter Relative Timespans by @samuel-esp in #382
- chore(deps): bump the version-bump group across 1 directory with 4 updates by @dependabot[bot] in #383
- chore(deps): bump @easyops-cn/docusaurus-search-local from 0.54.0 to 0.55.0 in /website in the version-bump group by @dependabot[bot] in #386
- chore(deps-dev): bump the version-bump group in /website with 2 updates by @dependabot[bot] in #388
- chore(deps-dev): bump eslint from 9.39.2 to 10.0.0 in /website by @dependabot[bot] in #387
- Feat/Add Health Probes To KubeDownscaler Deployment by @samuel-esp in #377
- Fix(website): add /contributing to search index by @jonathan-mayer in #391
- Feat/Add AutoscalingRunnerSet Resource by @samuel-esp in #368
- Chore/Release 1.3.0 by @samuel-esp in #389
Full Changelog: v1.2.1...v1.3.0