Ansible roles

These Ansible roles are simple in style and work well together on many distributions and many Ansible version.

Integration tests

A weekly test to verify if roles work well together.

Build Status ARA report.

Unit tests

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.

Issues & pull requests

See the overview of issues and pull requests.

#Role nameBuild statusVersion
1alternatives
2anaconda
3ansible
4ansible_lint
5apt_autostart
6ara
7artifactory
8at
9atom
10auditd
11awx
12azure_cli
13backup
14bios_update
15bootstrap
16buildtools
17ca
18ca_certificates
19cargo
20clamav
21cntlm
22common
23container_docs
24core_dependencies
25container_docs
26cron
27dhcpd
28digitalocean-agent
29dns
30docker
31docker_ce
32dovecot
33dsvpn
34earlyoom
35environment
36epel
37etherpad
38fail2ban
39firewall
40git
41gitlab_runner
42glusterfs
43go
44gotop
45haproxy
46haveged
47hostname
48httpd
49investigate
50irslackd
51java
52jenkins
53kernel
54kubectl
55locale
56logrotate
57logwatch
58lynis
59mediawiki
60memcached
61microsoft_repository_keys
62minikube
63mitogen
64molecule
65mssql
66mysql
67natrouter
68nginx
69npm
70ntp
71obsproject
72omsagent
73openssh
74openvas
75openvpn
76owncloud
77packer
78php
79php_fpm
80phpmyadmin
81postfix
82postgres
83powertop
84python_pip
85reboot
86redis
87release
88remi
89restore
90revealmd
91roundcubemail
92rpmfusion
93rsyslog
94ruby
95rundeck
96scl
97selinux
98service
99snort
100sosreport
101spamassassin
102squid
103storage
104stratis
105subversion
106sudo-pair
107sysctl
108sysstat
109terraform
110tftpd
111tomcat
112travis
113ulimit
114update
115update_package_cache
116users
117vagrant
118xinetd
119y
120zabbix
121zabbix_agent
122zabbix_proxy
123zabbix_repository
124zabbix_server
125zabbix_web
-skeletonnot tested

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.

Overview of dependencies

The dependencies are soft for these reasons:

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 meta/main.yml under dependencies.

Role Depends on Reason
ca httpd inherited variable
common reboot A reboot is used in tasks/main.yml with include_role.
openvpn selinux SELinux is configured in tasks/main.yml with include_role.
openvpn ca OpenSSL keys are created in tasks/main.yml with include_role.
php httpd handler
phpmyadmin httpd handler
roundcubemail httpd handler
selinux reboot A reboot is used in tasks/main.yml with include_role.
spamassassin rsyslog handler
tftpd xinetd handler
update reboot A reboot is used in tasks/main.yml with include_role.
zabbix httpd handler & inherited variable

Here is an overview of the hard dependencies:

Overview of hard dependencies

A page describing how I release considering these dependencies.

Tests

Unit tests and integration tests are use to verify the quality of the roles, read more about testing

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

Ansible version

The goal is to let all roles work on these Ansible version:

See errors? Please help and make a merge request on git.