/iac

Infrastructure as Code Starter Kit based on Terraform, Ansible, and Packer

Primary LanguageHCL

Infrastructure as Code Starter Kit

A boilerplate to create a full Infrastructure as Code for various cloud environments, from provisioning to deployment

Requirements

Name Version
nix OS or WSL
terraform >= 0.13
packer >= 1.6.5
ansible >= 2.9.6

Folder Structure

  • modules - Contains modular components
    • ansible-roles - Ansible roles
    • bash - Bash scripts
    • terraform - Terraform modules
    • helm - Helm charts
  • pve - Proxmox Virtual Environment
  • aws - Amazon Web Services environment
  • requirements.yml - Local requirements (Ansible playbook)

Quick start

Step 1: Clone repository

git clone git@github.com:blz-ea/iac.git

Step 2: Install requirements

make install

or manually install

Environments

Notes

On using in WSL

If Ansible throws an error related to ansible.cfg permissions. Add below to /etc/wsl.conf and restart WSL

[Automount]
enabled = true
mountFsTab = false
root = /mnt/
options = "metadata,umask=22,fmask=11"

[network]
generateHosts = true
generateResolvConf = true

TODO

  • Add tests
  • Add support for Hashicorp Vault
  • Refactor