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
- Host: GitHub
- URL: https://github.com/blz-ea/iac
- Owner: blz-ea
- Created: 2020-03-31T02:34:02.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-12T01:20:19.000Z (over 5 years ago)
- Last Synced: 2024-11-05T22:41:53.819Z (over 1 year ago)
- Topics: ansible, aws, iac, k8s, packer, proxmox, terraform
- Language: HCL
- Homepage:
- Size: 1.42 MB
- Stars: 15
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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