Ansible
Playbooks
These playbooks are mostly used to test roles, or prove an integration works.
Collections
Collection | Function |
---|---|
bareos | All Bareos roles from robertdebock.nl |
roles | All roles from robertdebock.nl |
development_environment | A development environment. |
rundeck_collection | Trying out a collection. |
Roles
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. To better understand what distributions and their versions are tested, have a look at the relations page.
Unit tests and integration tests are use to verify the quality of the roles, read more about testing
Dependencies
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 re-usability.
- Easier to fork.
- Let system developer assume a start-state of a machine.
Because these dependencies 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 dependencies on another role, mainly 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 meta/main.yml
under dependencies
.
Role | Depends on | Reason |
---|---|---|
mediawiki | httpd | handler |
php | httpd | handler |
phpmyadmin | httpd | handler |
revealmd | npm | required prerequisites |
revealmd | npm | required prerequisites |
A page describing how I release considering these dependencies.
Issues & pull requests
See the overview of issues and pull requests.
Distributions
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:
Distribution | Version(s) |
---|---|
Archlinux | latest |
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.
Ansible versions
The goal is to let all roles work on these Ansible version:
- 6
- 7
- 8