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