github caas-team/GoKubeDownscaler v1.3.0

latest release: v1.3.1
11 hours ago

๐ŸŽ‰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 --metrics argument.
  • 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 --qps and --burst arguments.
  • Introducing JSON Logs: GoKubeDownscaler can now print logs in JSON format using the --json-logs argument.

๐Ÿท๏ธ 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

Don't miss a new GoKubeDownscaler release

NewReleases is sending notifications on new releases.