/iterative-infrastructure

🔧 Infrastructure as Code explorations with HashiCorp Packer, Terraform, Azure and GitHub

Primary LanguageHCLApache License 2.0Apache-2.0

Iterative Infrastructure

Iterating on infrastructure with Terraform, Packer, and GitHub Actions

Table of Contents

Important Links

Requirements

To use the code in this repository, you will need the following applications:

Additionally, you will need a GitHub Personal Access Token.

Workflows

The code in this repository is split out into a handful of distinct flows, each in their own directory:

  • terraform/azure contains code for Terraform to set up an Azure Resource Group and generate a Packer variables definition file
  • packer contains code for Packer to build a (very!) basic image for an Azure Linux Virtual Machine
  • terraform/azure-compute contains code for Terraform to start a Linux Virtual Machine with the Packer image
  • terraform/github contains code for Terraform to set up a GitHub Organization's memberships and repository
  • .github/workflows contains GitHub Actions to ensure code quality for Packer and Terraform projects

Each directory contains its own README.md with information relevant to the workflow.

Additional Reading

While the authors of this repository take care to explain all workflows with the amount of detail required to execute them, the information here should not be considered exhaustive.

This section is a collection of links that will help you make the most of today's session.

Terraform

Packer

Author Information

This repository is maintained by Kerim Satirli and Taylor Dolezal.

License

Licensed under the Apache License, Version 2.0 (the "License").

You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express or implied.

See the License for the specific language governing permissions and limitations under the License.