These Ansible roles are simple in style and work well together on many distributions and many Ansible version.
A weekly test to verify if roles work well together.
A monthly test to see of the role still works on the current distributions. Some roles contain a version that requires frequent changes and tests.
Most roles have a “soft dependency” described in
requirements.yml. You can choose to use those roles if you like them. Here is an overview of these soft dependencies.
The dependencies are soft for these reasons:
- Better reusability.
- Easier to fork.
- Let implementor assume a start-state of a machine.
Because these dependecies are loose, you have to include them in your playbook yourself:
- name: make the best machine ever hosts: all become: yes roles: - role: robertdebock.bootstrap - role: robertdebock.java - role: robertdebock.tomcat
Some roles have a hard dependecies” on another role, mainy for a shared handler or variables set in the parent role, used in the child role. More details on how to use these roles. These hard dependencies are describe in
|common||reboot||A reboot is used in
|openvpn||selinux||SELinux is configured in
|openvpn||ca||OpenSSL keys are created in
|selinux||reboot||A reboot is used in
|update||reboot||A reboot is used in
|zabbix||httpd||handler & inherited variable|
Here is an overview of the hard dependencies:
Unit tests and integration tests are use to verify the quality of the roles, read more about testing
The goal is to let all Ansible roles work on as many distributions as possible, but this is sometimes not possible. For each distribution, the current and previous release is tested. A role may work on diferent distributions, like Red Hat Enterprise Linux (RHEL), but it’s not tested against it. By default these Linux distributions are included in the tests:
|Alpine||latest & edge*|
|CentOS||7 & latest|
|Debian||stable & unstable*|
|Fedora||latest & rawhide*|
|OpenSUSE||leap & tumbleweed|
|Ubuntu||latest, devel* & rolling|
- = These are experimental, builds are done for informative purposes and may fail.
The goal is to let all roles work on these Ansible version:
- devel (which is allowed to fail)
See errors? Please help and make a merge request on git.