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