With gcloud, run gcloud auth login
and select your account listed here. Open a PR if your account is not listed there but you believe it should be.
Enable the experimental features for the docker CLI by setting the appropriate environment variable.
export DOCKER_CLI_EXPERIMENTAL=enabled
- A container image of the shared cluster-api controller manager
- A git tag for providers to use
-
The container image is found in the registry
k8s.gcr.io/cluster-api/
with an image name ofcluster-api-controller
and a tag that matches the release version. For example, in thev0.1.5
release, the container image location isk8s.gcr.io/cluster-api/cluster-api-controller:v0.1.5
-
Prior to the
v0.1.5
release, the container image is found in the registrygcr.io/k8s-cluster-api
with an image name ofcluster-api-controller
and a tag that matches the release version. For example, in thev0.1.4
release, the container image location isgcr.io/k8s-cluster-api/cluster-api-controller:v0.1.4
-
Prior to the
v0.1.4
release, the container image is found in the registrygcr.io/k8s-cluster-api
with an image name ofcluster-api-controller
and a tag that matches the release version. For example, in the0.1.3
release, the container image location isgcr.io/k8s-cluster-api/cluster-api-controller:0.1.3
For version v0.x.y:
- Create an annotated tag
NOTE: To use your GPG signature when pushing the tag, use
git tag -s [...]
instead)git tag -a v0.x.y -m v0.x.y
git tag test/v0.x.y
(:warning: MUST NOT be an annotated tag)
- Push the tag to the GitHub repository
NOTE:
origin
should be the name of the remote pointing togithub.com/kubernetes-sigs/cluster-api
git push origin v0.x.y
git push origin test/v0.x.y
- Run
make release
to build artifacts (the image is automatically built by CI) - Follow the Image Promotion process to promote the image from the staging repo to
k8s.gcr.io/cluster-api
- Create a release in GitHub based on the tag created above
- Release notes can be created by running
make release-notes
, which will generate an output that can be copied to the drafted release in GitHub. Pay close attention to the## :question: Sort these by hand
section, as it contains items that need to be manually sorted.
Releasing requires a particular set of permissions.
- Push access to the staging gcr bucket
- Tag push access to the GitHub repository
- GitHub Release creation access