config/disk-log-message-filelog.json contained trailing commas and no
trailing newline, so it could not be parsed by encoding/json and NPD
would fail to start when configured with it.
- Fix the invalid JSON
- Add TestShippedConfigs, which verifies that every shipped JSON config
under config/ (top level and one directory down) parses (catching
trailing commas, UTF-8 BOMs and other syntax errors) and is in the
canonical format (2-space indent, trailing newline), showing a diff on
failure
- Add `make fmt-configs` to rewrite nonconforming files in place
(UPDATE_EXPECTED=y)
- Normalize the existing config files to the canonical format
(whitespace-only changes)
During release, there is manual work of generating the sha and md5
values from the built tar. This PR adds the helper script to generate
those in markdown format, so that it easier and less error-prone.
Adds a `make release` command for releasing new NPD version. It stops
pushing the tar files to gs://kubernetes-release, because no one has
write permission to the GCS bucket any more. We haven't pushed NPD tar
files to that GCS bucket after v0.8.10. k/k has been using NPD v0.8.13+
since 1.29. NPD release should just include the tar files in the release
note.
The release process and `make push` pushes the tar files to
`gs://kubernetes-release` historically. No one has write permission to the
GCS bucket anymore. We haven't pushed NPD tar files to that GCS bucket
after v0.8.10. k/k has been using NPD v0.8.13+ since 1.29.
This PR cleans up the Make file. NPD release should just include the tar
files in the release note.
Related issues:
- https://github.com/kubernetes/node-problem-detector/issues/874
- https://github.com/kubernetes/node-problem-detector/issues/878
For linux arm64 and amd64, as per #586.
I moved the builder image into the same dockerfile, and bumped the Go
version on it. It didn't seem like the builder dockerfile worked with
the latest code anyway (the go modules require go 1.15 and higher).
This requires a recent enough docker install with buildx, as well as
an arm64 builder.
BASEIMAGE is changed to not specify an arch, so that the image will
build on its native arch in buildx.
Example image is on docker hub as:
kelvie/node-problem-detector:v0.8.10-5-gb0fa610