This is an Ansible implementation for simple a cloud portal. This was a school project for the VM2 class.
- A playbook per customer.
- Using Ansible roles.
- Using Ansible vault for passwords, etc.
- Using Vagrant to deploy VMs.
- The Ansible inventory and Vagrant hosts file are in YAML for easy manipulation in PHP.
- Public/private keys per customer for secure operations.
- Playbooks for databaseservers, webservers, and loadbalancers.
- Almost everything is configurable using variables.
The repository uses a number of open source projects to work properly:
- Ansible - The simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuous Delivery.
- Vagrant - Enables users to create and configure lightweight, reproducible, and portable development environments.
The VM2 portal requires Ansible v2.9 and Vagrant v2.2 to run.
Install the dependencies, run vagrant up
, and ansible-playbook playbook.yml --vault-id @ansible_vault_pass
.