generated from cybozu-go/neco-template
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5898dee
commit 8405942
Showing
1 changed file
with
49 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# Maintenance | ||
|
||
## How to update supported Kubernetes | ||
|
||
Meows supports the three latest Kubernetes versions. | ||
If a new Kubernetes version is released, please update the followings: | ||
|
||
### 1. Update supported kubernetes and dependencies versions | ||
|
||
- Kubernetes versions: You can check the versions at <https://hub.docker.com/r/kindest/node/tags>. | ||
- `k8s-version` in [.github/workflows/main.yaml](/.github/workflows/main.yaml) | ||
- "Supported software" in [README.md](/README.md) | ||
- Tools versions: | ||
- Update `CONTROLLER_GEN_VERSION` in [Makefile](/Makefile) to the latest version from <https://github.com/kubernetes-sigs/controller-tools/releases>. | ||
- Update `RUNNER_VERSION` in [Dockerfile](/Dockerfile) to the latest version from <https://github.com/actions/runner/releases>. | ||
- In [kindtest/Makefile](/kindtest/Makefile): | ||
- Update `KINDTEST_K8S_VERSION` to the latest supported version of kubernetes. | ||
- Update `KUSTOMIZE_VERSION` to the latest version from <https://github.com/kubernetes-sigs/kustomize/releases>. | ||
- Update `KIND_VERSION` to the latest version from <https://github.com/kubernetes-sigs/kind/releases>. | ||
- Update `CERT_MANAGER_VERSION` to the latest version from <https://github.com/cert-manager/cert-manager/releases>. | ||
- After saving the changes above, update `ENVTEST_K8S_VERSION` in [Makefile](/Makefile) to the latest patch version among the latest supported kubernetes minor versions listed by running `make setup && tmp/bin/setup-envtest list` at the root of this repository. If the latest minor supported version is `1.30.Z`, find `1.30.Z+` from the output but not `1.31.Z`. | ||
- Other dependencies versions: | ||
- Update `ghcr.io/cybozu/golang` image in [Dockerfile](/Dockerfile) to the latest version from <https://github.com/cybozu/neco-containers/pkgs/container/golang>. | ||
- `go.mod` and `go.sum`: | ||
- Run `go get -u ./...`. | ||
|
||
If Kubernetes or controller-runtime API has changed, please update the relevant source code accordingly. | ||
|
||
### 2. Update meows by running `make` | ||
|
||
You can update meows by running the following `make` commands: | ||
|
||
```sh | ||
make setup | ||
make manifests | ||
make build | ||
``` | ||
|
||
### 3. Fix test code if tests fail | ||
|
||
After pushing the change, if the CI fails, fix the tests and push the changes again. | ||
|
||
_e.g._, <https://github.com/cybozu-go/meows/pull/185> | ||
|
||
### 4. Release the new version | ||
|
||
After merging the changes above, follow the procedures written in [Release.md](/RELEASE.md) and release the new version. | ||
|
||
_e.g._, <https://github.com/cybozu-go/meows/pull/186> |