Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

Latest commit

 

History

History
65 lines (42 loc) · 1.94 KB

README.md

File metadata and controls

65 lines (42 loc) · 1.94 KB

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Azure Terraform Module Generator

generator-az-terra-module creates base template to start a new terraform module along with terratest for automatically testing the module.

Terraform module template walkthrough

Prerequisites

  1. Install latest Node LTS.
  2. npm install -g yo
  3. npm install -g generator-az-terra-module

Usage

$ yo az-terra-module

NOTE: This template will generate files in the current directory, so be sure to always run it against a new directory.

Set Service Principal of Azure for Terraform

Prepare for Native Run

If you're a big fan of everything in native, please run the below script to set up the environment:

$ sudo ./env_setup.sh

Prepare for Docker Run

If you're a big fan of using Docker containers, please follow the instructions below to quickly set up a Docker container. Not a big fan of Docker containers, that's OK too, you can choose to exclude the Dockerfile from your project template.

$ docker build --build-arg BUILD_ARM_SUBSCRIPTION_ID=$ARM_SUBSCRIPTION_ID --build-arg BUILD_ARM_CLIENT_ID=$ARM_CLIENT_ID --build-arg BUILD_ARM_CLIENT_SECRET=$ARM_CLIENT_SECRET --build-arg BUILD_ARM_TENANT_ID=$ARM_TENANT_ID -t terra-mod-example .
$ docker run -it terra-mod-example /bin/sh

Build module

$ bundle install
$ rake build

Run module

$ terraform init
$ terraform plan
$ terraform apply

Test module

$ rake e2e