A proof of concept intended for production-oriented java developers that need to setup multi-nodes environments and build/test an application against it
Ansible cluster includes the following features:
- Support for multi-nodes application
- A relational database (MySQL)
- An index (Elasticsearch)
- An application server (Spring Boot)
- Support for lightweight container with Docker
- Build containers
- Link containers.
- Support for nodes lifecycle/configuration/provisioning with Ansible
- Shared variables across cluster
- Docker module
- Jinja2 interpolation
- Support for testing
- Run test suite with Maven
mvn clean install -f app/service/pom.xml && ansible-playbook --inventory-file=/etc/ansible/hosts cluster-playbook.yml -e "basedir=$(pwd)" -e "db_user_password=secret" -e "db_admin_password=" && mvn verify -Prun-tests -f app/tests/pom.xml