@alaskaairgroup/generator-aag-terraform-module

Scaffolding for Terraform module project

Usage no npm install needed!

<script type="module">
  import alaskaairgroupGeneratorAagTerraformModule from 'https://cdn.skypack.dev/@alaskaairgroup/generator-aag-terraform-module';
</script>

README

Alaska Airlines Terraform Module Generator

Build Status npm version

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

Install

To install the generator, run the following commands

npm install --global yo
npm install --global @alaskaairgroup/generator-aag-terraform-module

Usage

To run the generator use the command below and provide your new module name for the prompt

yo @alaskaairgroup/generator-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

Generated Terraform Module

Terraform Files

  • main.tf , variables.tf , outputs.tf files to module root path
  • examples directory with module usage tf files
  • .terraform-version file to module root path

Testing Framework Files

  • Option to choose test frameworks:
    • Terratest
    • kitchen-terraform
  • test directory with an example test based on test framework selection

Other Files

  • README.md
  • Makefile
  • .editorconfig, .gitignore and .gitattributes
  • .pre-commit-config.yaml for
    • terraform fmt
    • terraform-docs
    • check-merge-conflict
    • ( go fmt, golint ) or (rubocop)

Post Generation

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

Software Projects Included

Contributing

See Contributing for guidelines

Building The Generator

If you are interested in contributing or modifying the generator itself, clone this repo and install all modules

npm install

Testing The Generator

If you want to run the generator tests, you can run the following command

make test

Using it in dev mode

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 & Author

Maintainers: Shadow Quests (Alaska Airlines E-Commerce Platform Team)
Original Author: sudokar

License

MIT