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