We need to keep the previous process to merge broken manifests,
so that people git cloning at each TAG event will receive the
right manifest.
Without this, the update of the kured-ds and kured-ds-signal
happen by dependabot AFTER the release, so it means the tag
is NOT INCLUDING the right manifest.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
Since we moved to two supported releases instead of 3, we only
have 2 sets of files for kind testing.
We missed updating the CONTRIBUTING guide for it.
This fixes it.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
Now that we have a .config folder, we can move mise into such
folder, to clean up the root of the directory
We therefore fix the contributing guide link with new location.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
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>
Contributing still mentions the dockerhub file instead of the
combined file.
This fixes it.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
Include helm charts and docs at the right time.
This should help releasers in the future.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
Without this, ppl might be wondering how to use e2e test,
especially on slower machines.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
* Move to stable kind cluster filenames
Without this, we have to rename files at every version.
This is really unnecessary, we should only change the files
and be done with it.
This is a problem, as if we move to programmatic test running,
the tests would need to be mutatated at every k8s version.
With this model, we know that only the kind-cluster files
need to be modified for the tests to ba automatically
adapted.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
* Create e2e from go tests interface
Without this, e2e tests need tons of manual work to
test locally, and the results are not easily exposed.
People are less likely to use the e2e tests if they
are tough to use outside the CI.
This commit makes it easier to run tests locally,
and ensures the CI is closer to the Makefile.
At the same time, this removes debt in the github
worfklows: By switching to newer versions of kind,
we can remove the very old workaround for the
failed to attach pid 1.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
* Add node stays as cordonned test
Without this, impossible to prove that the node stays as cordonned
after a reboot by kured.
This refactor also adds the test in the CI, and makes sure the
CI is a bit simpler, by using matrix more extensively.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
* Use hack dir instead of .tmp
This is more idiomatic.
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
---------
Signed-off-by: Jean-Philippe Evrard <open-source@a.spamming.party>
- Explain kured code structure
- Update links, as some docs have moved
- Readability and fix typos
Signed-off-by: Daniel Holbach <daniel.holbach@gmail.com>