Skip to content

Releases: kubereboot/kured

Kured 1.9.0

17 Dec 13:15
eec8ca1
Compare
Choose a tag to compare

Features and Improvements

  • Exclude terminated pods from the blocking mechanism #459
  • bind environment variables to cobra flags with viper #464

Bugfixes

  • update image tag to 1.8.2 #472

Build and Testing

  • ensure go version for tests #475
  • update to test against k8s 1.2{1,2,3} kind images #476

Helm chart

  • Support json logformatter #456

Notable dependency updates

  • Update k8s dependencies to 0.22.4 #475
  • Bump github.com/spf13/viper from 1.8.1 to 1.9.0
  • Bump nick-invision/retry from 2.5.1 to 2.6.0
  • Bump github.com/spf13/viper from 1.9.0 to 1.10.0
  • Bump github.com/spf13/cobra from 1.2.1 to 1.3.0
  • Bump github.com/spf13/viper from 1.10.0 to 1.10.1

Kubernetes Version Compatibility

The daemon image contains a 1.22.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.21.x, 1.22.x and 1.23.x

Thanks a lot to everyone who contributed to kured since 1.9.0. Commits from @georgekaz, @dkulchinsky, @dholbach, @ckotzbauer

Kured 1.8.2

06 Dec 13:34
ff1a27b
Compare
Choose a tag to compare

Minor Release 1.8.2

1.8.1 was only half-released - so here the changelog for all changes since 1.8.0.

No breaking changes, but you might want to double-check and review https://containrrr.dev/shoutrrr/v0.5/services/overview/ though to make sure you got your notify-url (new) or slack-hook-url (old) correct. See #368 for more detail.

Features and Improvements

  • Release images to GHCR as well as DockerHub #439
  • Support json logformatter

    This commit introduces a new flag '--log-format' that allows a user
    to configure json logging on the pods. If the log-format
    is not specified, the formatter will default to the existing
    text formatter.

Dependency Updates

  • Alpine 3.15.0 #467
  • dependabot: update docker images too
  • various GH Actions
  • github.com/prometheus/common 0.32.0 #453
  • github.com/containrrr/shoutrrr 0.5.2 #450

Clean Up

  • Remove notification/slack package #368

Helm Chart

  • add missing prefer-no-schedule-taint
  • add rebott-sentinel-command
  • correct indent #447
  • add reboot-delay
  • add alert-firing-only

Kubernetes Version Compatibility

The daemon image contains a 1.21.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.20.x, 1.21.x and 1.22.x

Thanks a lot to everyone who contributed to kured since 1.8.0. Commits from @MattJeanes @amorey @atighineanu @ckotzbauer @dholbach Daniel Kvist @jackfrancis @evrardjp

1.8.0

08 Oct 13:39
7c33ad8
Compare
Choose a tag to compare

Features and Improvements

  • Add reboot-delay command line argument #418
  • feat: updated to [email protected]
  • update to go 1.16 (follow the load of k8s 1.21)
  • Add --alert-firing-only parameter to only consider firing alerts #410
  • Restructuring Prometheus client, added unit-tests to regex-queries active alerts (#386)

Bugfixes

  • fix: don't use nil context in drain helper #438
  • fix slack deprecation notice #382

Build and Testing

Helm chart

  • Add force-reboot and drain timeouts to chart config and ds #360
  • update chart definition to include --notify-url #338
  • Add lockReleaseDelay parameter to helm chart #353
  • Change default updateStrategy to RollingUpdate (#420)
  • fix: common default reboot command for code and chart #408
  • Added rebootCommand values (#394)
  • Added possibility to mount volumes (#407)

Docs

  • doc: update image-version
  • doc: some clarification for release-docs
  • link to versioned shoutrrr docs #402
  • Add jackfrancis to MAINTAINERS #440

Notable dependency updates

  • Bump helm/chart-testing-action from 2.0.1 to 2.1.0
  • Bump github.com/prometheus/common from 0.25.0 to 0.29.0
  • Bump nick-invision/retry from 2.4.0 to 2.4.1
  • Bump helm/kind-action from 1.1.0 to 1.2.0
  • Bump github.com/spf13/cobra from 1.1.3 to 1.2.1
  • Bump actions/stale from 3.0.19 to 4
  • Bump github.com/prometheus/common from 0.29.0 to 0.30.0 (#414)
  • Bump github.com/containrrr/shoutrrr from 0.4.4 to 0.5.0
  • Bump github.com/containrrr/shoutrrr from 0.5.0 to 0.5.1
  • Bump guyarb/golang-test-annoations from 0.4.0 to 0.5.0
  • Bump github.com/prometheus/common from 0.30.0 to 0.31.0
  • Bump github.com/prometheus/common from 0.31.0 to 0.31.1
  • Bump nick-invision/retry from 2.4.1 to 2.5.0

Kubernetes Version Compatibility

The daemon image contains a 1.21.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.20.x, 1.21.x and 1.22.x

Thanks a lot to everyone who contributed to kured since 1.7.0. Commits from @piksel, @amorey, @jackfrancis, @dkulchinsky, @dhoeld, @MattJeanes, @evrardjp, @renaudhager, @SimeonPoot, @spingel, @atighineanu, @dholbach, @ckotzbauer

Kured 1.7.0

19 May 17:00
4f8e9a0
Compare
Choose a tag to compare

Features and Improvements

  • Add force-reboot after drain-timeout duration has been exceeded #341
  • Add prefer no schedule taint to avoid double draining of pods #250, #19
  • Implement universal notification mechanism #315
  • Add parameter for delaying release of lock #352
  • Always drain before reboot #294, #18
  • Add node annotations to identify kured reboot operations #296
  • Parametrize reboot commands #297

Bugfixes

  • Retry daemonset get operations #342

Build and Testing

  • extend close-duration for stale issues and prs #325
  • Update helm chart README using Make #293
  • Change default branch to 'main' #337
  • Update to alpine 3.13 #320
  • Increase and update Test-Coverage with Github-Action #339, #355, #354, #365, #349, #328, #326, #344

Helm chart

  • Expose the service name and maxUnavailable for rolling updates in the helm chart #280
  • Use chart appVersion as default image-tag #335
  • Add podLabels parameter #300
  • Update chart definition to include --annotate-nodes #318

Docs

  • Update url for ms teams notifications #366, #362
  • Adding a MAINTAINERS file #321

Notable dependency updates

  • Support für Kubernetes 1.21.x #350, #290
  • github.com/spf13/cobra 1.1.1 => 1.1.3
  • github.com/sirupsen/logrus 1.7.0 => 1.8.1
  • github.com/prometheus/common 0.18.0 => 0.25.0
  • github.com/containrrr/shoutrrr 0.4.1 => 0.4.4
  • github.com/prometheus/client_golang 1.8.0 => 1.10.0

Kubernetes Version Compatibility

The daemon image contains a 1.20.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.19.x, 1.20.x and 1.21.x

Thanks a lot to everyone who contributed to kured since 1.6.1. Commits from @cnmcavoy, @ckotzbauer, @evrardjp, @dholbach, @atighineanu, @spingel, @papanito, @t3mi, @jackfrancis.

Kured 1.6.1

11 Jan 13:32
56e2c12
Compare
Choose a tag to compare

This is a follow-up release to 1.6.0, bringing in #291 to fix the release automation.

Kured 1.6.0

11 Jan 12:41
14fcc7b
Compare
Choose a tag to compare

From a user perspective, this release will mostly bring you up to date with Kubernetes 1.[18,19,20].x. Behind the scenes Jean-Philippe Evrard (SUSE) put a lot of effort into automated testing, which will give us more confidence in the code we merge.

Improvements

  • add additional parameters to override the drain/reboot slack messages
  • rename message template parameters so they are not related to slack
  • Improve coordinated reboot output
  • Add more logs into gates
  • Added support for time wrap in timewindow.Contains

Build / testing

  • Bump to golang 1.15
  • Add smoke/basic functional test
  • Auto expire issues and PRs
  • Always have latest helm binary installed
  • Increase kubernetes versions test matrix for smoke tests
  • Add kustomize testing
  • Simplify manifest testing
  • Add Shellcheck
  • Cleanup github actions
  • Fix chart linter
  • Simplify action code
  • Do not bump kubernetes with dependabot
  • Force golang version
  • Publish image on tag
  • Point docs to current golang version
  • Publish image on master merged changes
  • Update for kubernetes 1.20 support
  • Fix comment spacing
  • Auto-publish helm chart on master change
  • Do not bump any k8s module
  • Temporarily workaround alpine issue
  • Refresh kind cluster versions

Docs

  • Clarify development process
  • Clarify development process for helm charts
  • Corrected README Setting a schedule configuration example

Kubernetes Version Compatibility

The daemon image contains a 1.18.x k8s.io/{client-go,kubectl} for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so -this should work on 1.1{18,19,20}.x.

Thanks a lot to everyone who contributed to kured since 1.5.1. Commits from @DaniJG, dependabot[bot], @dholbach, @evrardjp, @jack-education, @morancj.

Kured 1.5.1

24 Nov 14:40
685f328
Compare
Choose a tag to compare

Commits since 1.5.0 by @bboreham, @dholbach, @evrardjp, @mvisonneau, @smueller18. Thanks a lot for your help everyone!

Breaking changes

--annotationTTL was renamed to --lockTTL (Helm chart values accordingly). Unfortunately this feature didn't quite work in the past release (see #213 etc.), so the breaking change is not as bad as it sounds.

Bug fixes

  • #213 and #238: Replaced --annotationTTL with --lockTTL and made it work correctly
  • #237: Drain: allow pods grace period to terminate
  • #166: Remove quote for parameter alert-filter-regexp

Clean Up

  • #217: Clean up deps, update docs to explain state post-210
  • #210: feature: Remove kubectl bin
  • #198: fix: Follow DKL-DI-0004 guideline
  • #194: add missing quote - thanks Karan Arora for reporting

Release automation

  • #185: Release helper
  • #221: Add Lint job in github actions
  • #222: Make go lint on pkg folder happier
  • #215: Make go lint on cmd folder happier

Kubernetes Version Compatibility

The daemon image contains a 1.18.x k8s.io/client-go and k8s.io/kubectl for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.1[789].x.

Kured 1.5.0

01 Sep 13:54
ba8c830
Compare
Choose a tag to compare

If you have been upgrading through the 1.4.x releases, 1.5.0 mostly just adds support for newer k8s client tools and updates other internal build components.

Since 1.4.0 we landed quite a few improvements though.

Improvements

  • #119: Adding --annotation-ttl for automatic unlock
  • #150: Move kured Helm Chart from /helm/charts/stable
  • reapply #134: print node id when commanding reboot

Updates

  • Many improvements and modernisation for chart and documentation
  • #139: Update to work for match k8s 1.1[789].x

Thanks a lot to @audunsolemdal, @bboreham, @ckotzbauer, @davidkarlsen, @dholbach, @evrardjp and @michalschott who contributed to this release.

Kubernetes Version Compatibility

The daemon image contains a 1.18.x k8s.io/client-go and kubectl binary for the purposes of maintaining the lock and draining worker nodes. Kubernetes aims to provide forwards & backwards compatibility of one minor version between client and server, so this should work on 1.1[789].x.

Kured 1.4.5

05 Aug 09:35
b024898
Compare
Choose a tag to compare

This release is part of the 1.4.x series and adds

  • Chart: Support extraEnvVars
  • documentation updates

Thanks a lot to @audunsolemdal, @ckotzbauer and @dholbach who contributed to this release.

Kured 1.4.4

01 Jul 09:30
2762837
Compare
Choose a tag to compare

Thanks @davidkarlsen and @ckotzbauer for figuring out issues with the Helm chart.

We are just about to resolve #140 and thus be able to deprecate the charts in /helm/charts this way.