Jean-Philippe Evrard e531f64b85 feat(release): let GoReleaser manage artifacts
GoReleaser now builds the multi-arch images,
publishes SBOM/provenance metadata, signs image digests, and attaches
the generated combined Kubernetes manifest to tagged GitHub releases.

This is to have goReleaser as a single point of work for release
automation. With this, so tags and main commits follow one consistent
image pipeline.

We keep the CI and developer image builds intentionally local.
PR, periodic, main, and tag scan jobs build only `kured:dev` and scan that
local image with Trivy, which avoids pushing disposable images and keeps
the tested image identical to the one used by kind-based e2e tests.

Simplify the Makefile around the remaining artifact boundaries: `build` for a
local GoReleaser binary build, `dev-image` for local Docker/e2e/scan use, and
`release` for the GoReleaser publish path. Remove the old manual manifest
target because the release manifest is now generated during the tagged release
flow.

To avoid a mess with all the configuration files, I move everything into
a `.config` folder, for the tools supporting it.

This also meant updating golangci-lint to a valid v2 config, and simplify
the Dockerfile to the layout expected by GoReleaser `dockers_v2`
using `TARGETPLATFORM`.

Handle Prometheus client initialization errors explicitly so the stricter
errcheck configuration keeps the existing fail-closed reboot-blocking behavior,
to fix the golangci-lint issue that appeared.

Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
2026-06-09 09:19:04 +02:00
2026-06-09 09:16:56 +02:00
2025-08-30 17:20:14 +02:00
2022-11-29 22:01:21 +01:00
2026-03-19 06:07:15 +01:00
2024-10-27 21:57:31 +01:00
2024-02-17 15:18:42 +01:00
2022-09-19 12:01:10 +02:00
2023-04-23 15:59:56 +02:00
2026-06-08 13:05:42 +02:00
2026-06-08 13:05:42 +02:00
2020-11-30 10:51:43 +01:00
2017-06-13 17:57:19 +01:00
2025-12-19 06:25:32 +05:30

kured - Kubernetes Reboot Daemon

Artifact HUB FOSSA Status CLOMonitor OpenSSF Best Practices

kured logo

Introduction

Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.

  • Watches for the presence of a reboot sentinel file e.g. /var/run/reboot-required or the successful run of a sentinel command.
  • Utilises a lock in the API server to ensure only one node reboots at a time
  • Optionally defers reboots in the presence of active Prometheus alerts or selected pods
  • Cordons & drains worker nodes before reboot, uncordoning them after

Documentation

Find all our docs on https://kured.dev:

And there's much more!

Getting Help

If you have any questions about, feedback for or problems with kured:

We follow the CNCF Code of Conduct.

Your feedback is always welcome!

Trademarks

Kured is a Cloud Native Computing Foundation Sandbox project.

Cloud Native Computing Foundation logo

The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage.

License

FOSSA Status

S
Description
Kubernetes Reboot Daemon
Readme
4.9 MiB
Languages
Go 88.8%
Shell 7.7%
Makefile 3.2%
Dockerfile 0.3%