This repository contains the standard modules Fairwinds managed Azure implementations. The aks_cluster
module is adaptable, and can be paired with multiple invocations of the aks_node_pool
module. The virtual_network
module is not specific to AKS and can be used for any Azure project that requires virtual network space.
Please review the readme within each specific module for details on how to use them.
See CONTRIBUTING.md.
We intend to use semantic versioning for the modules in this repository. This means that each module folder will have a release tag similar to module_name-v0.0.1
. We never intend any minor versions to
recreate the AKS clusters, since this could result in state loss. If any modules are made completely incompatible, they require a major version update and we will note in release notes. If any compatibility issues are found in the wild, please submit an issue with a way to recreate the scenario.
Each module should have it's own usage documentation in the folder. The module folder should also include a CHANGELOG.md
for that module.
We do not anticipate retrofitting patches to older MINOR versions. If we are currently on v1.2.0 and a bug is found that was introduced in v1.1.0 we will patch to v1.2.1 (and there will not be a v1.1.1). Pull requests always accepted if you have a need to patch older releases.
- MAJOR: Changing versions here will require changes to your module parameters
- Could have new required parameters or changes to defaults that could affect implementations
- May remove certain parameters
- Will not re-provision your cluster, unless noted in the changelog release notes
- MINOR: Changing minor versions should have parameter backwards compatibility
- Required parameters should not change between MINOR versions
- Optional parameters may change or there may be new optional parameters
- We will not remove optional parameters between MINOR releases, a MAJOR is required
- Defaults on optional parameters may change between MINOR versions, including default versions or other cluster settings
- Change Log will outline expected differences between Minor releases
- PATCH: Changing minor defaults or logic fixes
- Bugs that fix behavior or adjust "constant change" issues in terraform runs
- Typos could be fixed with patch if it affects behavior of the terraform module
- Fixes to older supported features of the module that broke with MINOR functionality changes
- README and USAGE documentation changes may trigger a PATCH change and should be documented in CHANGELOG