- Terraform (Core) - version 1.x or above
- Go version 1.20.x (to run the tests)
If you're on Windows you'll also need:
For GNU32 Make, make sure its bin path is added to PATH environment variable.
For Git Bash for Windows, at the step of "Adjusting your PATH environment", please choose "Use Git and optional Unix tools from Windows Command Prompt".
Or, use Windows Subsystem for Linux
- Run
curl -L https://go.dev/dl/go1.21.0.linux-amd64.tar.gz -o go1.21.0.linux-amd64.tar.gz
(replace with a different version of go if desired) - Run
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
- Run
sudo nano ~/.profile
- Add the following lines at the end of the file:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go/bin
export PATH=$PATH:$GOPATH/bin
- Type Ctrl + x to save, then enter y and hit enter
- Run
source ~/.profile
- Run
sudo apt-get update && apt-get install make
- Follow these instructions
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
.
- Clone the repository
- Navigate to the root of the repository
- Run
make tools
We have adopted conventional commit naming standards for PRs.
E.g.:
feat(roleassignment)!: add `relative_scope` value.
^ ^ ^ ^
| | | |__ Subject
| |_____ Scope |____ Breaking change flag
|__________ Type
The following types are permitted:
chore
- Other changes that do not modify src or test filesci
- changes to the CI systemdocs
- documentation only changesfeat
- a new feature (this correlates withMINOR
in Semantic Versioning)fix
- a bug fix (this correlates withPATCH
in Semantic Versioning)refactor
- a code change that neither fixes a bug or adds a featurerevert
- revert to a previous commitstyle
- changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)test
- adding or correcting tests
The following scopes are permitted:
- resourcegroup - pertaining to the resourcegroup sub-module
- roleassignment - pertaining to the roleassignment sub-module
- root - pertaining to the root module
- subscription - pertaining to the subscription sub-module
- usermanagedidentity - pertaining to the user-assigned managed identity sub-module
- virtualnetwork - pertaining to the virtual network sub-module
An exclamation mark !
is appended to the type/scope of a breaking change PR (this correlates with MAJOR
in Semantic Versioning).