Set of cloud based stacks managed with terraform.
To setup these stacks, install the following:
- Terraform (>=0.10.0)
- Terraform Provider Openstack (>=1.9.0)
- Ansible (>=2.4)
- Terraform-Inventory (>=1.2.0)
Go to the stack directory and chose one use case:
$ tree -L 2 openstack/
openstack/
├── base
│ ├── backend
│ ├── bastion
│ ├── gateway
│ ├── lbaas
│ ├── lbaas_with_fip
│ ├── multiple_fip
│ ├── router
│ ├── security_group_http
│ ├── security_group_ssh_icmp
│ ├── vm_on_one_network
│ ├── vm_with_floatingip
│ └── vm_with_single_network
└── stack
├── mysql
└── nginx
For each stack the workflow is basically the same:
$ cd openstack/stack/nginx/v1
$ vim terraform.tfvars
$ terraform init
$ terraform apply
$ terraform-inventory -u <SSH_USER> -k <SSH_KEY>
$ ansible-galaxy install -r requirements.yml
$ ansible-playbook playbook.yml
For some stack with specific steps to perform, refer to the related documentation.
Currently support only Openstack API provider.