This file contains notes explaining release and versioning procedures.
This module is versioned with a 3 part version number:
The Major and Minor parts of the version number follow the Kubernetes Major and Minor version numbers.
The patch version version tracks patch releases of this module (not Kubernetes), EKS only allows users to specify Major and Minor K8s versions.
Upgrading the patch version of this module should not:
- Cause major downtime
- Require any additional manual steps
The exception to this is where either of the above are required to fix a security issue (in this case the release notes will document this).
Upgrading the Major or minor version of this module:
- Upgrades the Kubernetes version
- Will require multiple terraform apply steps
- May require additional manual steps
- May cause short downtime of some components (where unavoidable)
The release notes will document this.
Pre release versions may be tagged. There are no guarantees attached to these as they are intended for testing purposes only. They may well cause downtime or otherwise break a cluster.
master
is the main development branch for this module. Changes to the module
and updates should be merged here via pull request. Master should be maintained
with the most up-to date working configuration.
Once a particular version is ready for pre-production testing a branch named
release-<major>-<minor>
is created to maintain stable releases for that version.
Pre-Release versions, and release versions (once we are satisfied) are tagged from these branches.
We expect to cherry-pick or backport essential changes to release branches.
git checkout release-<major>-<minor>
git tag v<major>.<minor>.<patch> -m "Version <major>.<minor>.<patch>"
git push --tags
- Create GitHub release https://github.com/cookpad/terraform-aws-eks/releases/new and include any release notes
- Check the version has been published at https://registry.terraform.io/modules/cookpad/eks/aws