Nyamber supports the three latest Kubernetes versions. If a new Kubernetes version is released, please update the followings:
- Kubernetes versions:
k8s-version
in .github/workflows/ci.yaml: You can check the available versions at https://hub.docker.com/r/kindest/node/tags.- "Supported software" in README.md
- Kubernetes tools versions:
- Update
KUSTOMIZE_VERSION
in Makefile to the latest version from https://github.com/kubernetes-sigs/kustomize/releases. - Update
E2ETEST_K8S_VERSION
in e2e/Makefile to the latest supported version of kubernetes.
- Update
- After saving the changes above, update
ENVTEST_K8S_VERSION
in Makefile to the latest patch version among the latest supported kubernetes minor versions listed by runningmake setup && tmp/bin/setup-envtest list
at the root of this repository. If the latest minor supported version is1.30.Z
, find1.30.Z+
from the output but not1.31.Z
. - Run
aqua update
to update tools in aqua.yaml. Then, manually align the minor versions of kubernetes and kubectl inaqua.yaml
. If the minor version ofkubernetes/kubectl
inaqua.yaml
precedes the latest supported minor versions of kubernetes, adjust it to match.
e.g., Ifkubernetes/kubectl
is1.31.Z
and the latest supported version is1.30.Z
, modifykubernetes/kubectl
version to1.30.Z
. - Other tools versions:
- Update
PLACEMAT_VERSION
in Dockerfile to the latest version from https://github.com/cybozu-go/placemat/releases. - Update
CONTROLLER_TOOLS_VERSION
in Makefile to the latest version from https://github.com/kubernetes-sigs/controller-tools/releases. - Update
CERT_MANAGER_VERSION
in e2e/Makefile to the latest version from https://github.com/cert-manager/cert-manager/releases.
- Update
- Other dependencies versions:
- Update actions in .github/workflows/ci.yaml and .github/workflows/release.yaml
- Update
ghcr.io/cybozu/golang
image andGO_VERSION
in Dockerfile and Dockerfile.runner to the latest version from https://github.com/cybozu/neco-containers/pkgs/container/golang.
go.mod
andgo.sum
:- Run
go get -u ./...
.
- Run
If Kubernetes or related APIs have changed, please update the relevant source code accordingly.
You can update nyamber by running the following make
commands:
make setup
make manifests
make build
After pushing the change, if the CI fails, fix the tests and push the changes again.
e.g., #59
After merging the changes above, follow the procedures written in docs/release.md and release the new version.
e.g., #60