Skip to content

A Yeoman Generator to create new Terraform module projects for Alaska Airlines

License

Notifications You must be signed in to change notification settings

AlaskaAirlines/generator-aag-terraform-module

 
 

Repository files navigation

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/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

About

A Yeoman Generator to create new Terraform module projects for Alaska Airlines

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 54.3%
  • HCL 16.9%
  • Makefile 15.3%
  • Go 6.8%
  • Ruby 6.7%