A Yeoman Generator to create new Terraform module projects for Alaska Airlines. This generator creates a base repository to start a new terraform module along with Terratest or kitchen-terraform to automatically test the module.
To stay up to date on our latest changes, visit our Changelog
To install the generator, run the following commands
npm install --global yo
npm install --global @alaskaairgroup/generator-aag-terraform-module
To run the generator use the command below and provide your new module name for the prompt
yo @alaskaairgroup/aag-terraform-module
? Enter name for the new terraform module : example-module
? Enter description for the new terraform module : Example terraform module
? Enter author name : sudokar
? Choose terraform version (Use arrow keys)
❯ 0.13
0.11
? Choose test framework (Use arrow keys)
❯ Terratest
kitchen-terraform
main.tf
,variables.tf
,outputs.tf
files to module root pathexamples
directory with module usage tf files.terraform-version
file to module root path
- Option to choose test frameworks:
- Terratest
- kitchen-terraform
test
directory with an example test based on test framework selection
README.md
Makefile
.editorconfig
,.gitignore
and.gitattributes
.pre-commit-config.yaml
forterraform fmt
terraform-docs
check-merge-conflict
- (
go fmt
,golint
) or (rubocop
)
In the generated module directory, run the following command
make install
This will perform the following steps for you
- Initialize git repository
- Install pre-commit hooks
- Install Terraform
- Prepare testing framework
- For module generator itself
- For generated Terraform module
- For generated Terraform module tests
- Terratest
- kitchen-terraform
See Contributing for guidelines
If you are interested in contributing or modifying the generator itself, clone this repo and install all modules
npm install
If you want to run the generator tests, you can run the following command
make test
In the generator-aag-terraform-module
directory use the following command, this will link the local copy of the folder as a global node module
npm link
To revert the link operation
npm unlink
Maintainers: Shadow Quests (Alaska Airlines E-Commerce Platform Team)
Original Author: sudokar
MIT