An open API service indexing awesome lists of open source software.

https://github.com/blz-ea/iac

Infrastructure as Code Starter Kit based on Terraform, Ansible, and Packer
https://github.com/blz-ea/iac

ansible aws iac k8s packer proxmox terraform

Last synced: about 1 year ago
JSON representation

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

Awesome Lists containing this project

README

          

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

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

### Step 2: Install requirements ###

```bash
make install
```

or manually install

- [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html)
- [Terraform](https://learn.hashicorp.com/terraform/getting-started/install.html)
- [Packer](https://learn.hashicorp.com/packer/getting-started/install)

### Environments ###

- [Proxmox Virtual Environment](./pve/)
- Amazon Web Services
- [Basic example](./aws/basic/)
- ...

## Notes ##

### On using in WSL ###

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

```conf
[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