stored in a version control system (git) • Change History / Change Tracking • Collaboration • Better documentation • Eliminates the Truck Factor (or Single Point of Failure) • Predictable deployments Terraform - Write
parts of the environment will be • Created • Modified • Deleted • Displayed / Verified before modifying the targeting infrastructure • Think of git status Terraform - Plan
infrastructure • Based on JSON but more focused • Simple but powerful type system • Strings, Numbers, Booleans, Maps, Lists • One language for all infrastructure vendors • Using dedicated Providers Meet the HCL
Features • Different Authentication patterns supported • Reuse Azure CLI Authentication • Dedicated Service Principal • Dedicated Managed Service Identity • Read/Write Azure Resources Terraforming Microsoft Azure
HashiCorp • hashicorp/terraform-github-actions@master • Use GitHub’s Repository Secrets to establish context • Display output from various Actions such as • Format • Validate • Plan Continuous Integration