Ansible roles by Evolix
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Ludovic Poujol af896fe1fc * ntpd: Update the restrictions to follow client config
- Ensure the client won't respond to anybody but accept the timeserver 
- Should work on both Jessie and Stretch
4 years ago
amavis Hot fix: remove .conf suffix because Amavis don't read it! 5 years ago
amazon-ec2 whitespaces 5 years ago
apache apache: add Munin configuration for Apache server-status URL 4 years ago
apt add name for some fail modules 6 years ago
bind bind: must not be executed in check mode 5 years ago
clamav whitespaces 5 years ago
dhcpd Rename dhcp to dhcpd 6 years ago
docker-host Clean override of docker systemd unit 6 years ago
dovecot dovecot: stronger TLS configuration 5 years ago
drbd Move /usr rw remount into remount-usr role 6 years ago
elasticsearch elasticsearch: fix condition for tmpdir 5 years ago
etc-git etc-git: status cron job is run by root 5 years ago
evoacme evoacme: fix error handling in sed_cert_path_for_(apache|nginx) 5 years ago
evocheck evocheck: update for source install 4 years ago
evolinux-base normalize some arguments positions 4 years ago
evolinux-todo evolinux-todo: don't echo "nothing…" when verbosity=0 5 years ago
evolinux-users evolinux-users: add newaliases handler 5 years ago
evomaintenance evomaintenance: database variables must be set or the task fails 5 years ago
fail2ban Adds ips tag to fail2ban/tasks/ip_whitelist.yml 4 years ago
filebeat filebeat: cleanup unused code 5 years ago
generate-ldif Add postgresql service to generateldif script 5 years ago
haproxy haproxy: add vars for tls configuration 5 years ago
java java: update Oracle java package to 8u192 4 years ago
jenkins java: support for Oracle JRE 5 years ago
kibana kibana: log messages go to /var/log/kibana/kibana.log 5 years ago
kvm-host kvm-host: install kvm-tools package instead of copying 5 years ago
ldap ldap|nagios-nrpe: use external file for NRPE credentials 5 years ago
listupgrade listupgrade: Add service restart notification for squid 5 years ago
logstash logstash: limit to 512M by default 5 years ago
lxc Fix multiple bugs in lxc role after testing 6 years ago
memcached memcached: improve systemd units management 5 years ago
meta Add meta/main.yml file for ansible galaxy cloning 6 years ago
metricbeat metricbeat: add a variable for the protocol to use with Elasticsearch 4 years ago
minifirewall normalize some arguments positions 4 years ago
mongodb apt module: Use "state: present" instead of "state: installed" 5 years ago
monit minor fix: true -> True 6 years ago
munin munin: better marker for blockinfile 4 years ago
mysql mysql: logdir can be customized 5 years ago
mysql-oracle mysql-oracle: remove mysql-apt-config 0.8.10 5 years ago
nagios-nrpe nagios-nrpe: check_process now return the error code (making the check more usefull than /bin/true) 5 years ago
nameserver Add nameserver role 6 years ago
networkd-to-ifconfig Add a role to switch from networkd to ifconfig 5 years ago
newrelic apt module: Use "state: present" instead of "state: installed" 5 years ago
nginx nginx: Munin url config is now a template to insert the server-status prefix 5 years ago
nodejs nodejs: Update yarn repo GPG key (current key expired) 4 years ago
ntpd * ntpd: Update the restrictions to follow client config 4 years ago
opendkim whitespaces 5 years ago
packweb-apache whitespaces 4 years ago
php php: added php-zip in the installed package list for debian 9 (and later) 4 years ago
postfix enable SSL/TLS client, cf 5 years ago
postgresql apt module: Use "state: present" instead of "state: installed" 5 years ago
proftpd whitespaces 5 years ago
rabbitmq apt module: Use "state: present" instead of "state: installed" 5 years ago
rbenv rbenv: add pkg-config to the list of packages to install 4 years ago
redis redis: add a variable for renamed/disabled commands 4 years ago
redmine redmine: use .my.cnf for mysql password 5 years ago
remount-usr remount-usr: mount doesn't report a change 5 years ago
spamassasin * spamassassin: add missing right for amavis 5 years ago
squid squid: added in the whitelist 4 years ago
ssl ssl: add handler for haproxy reload 5 years ago
supervisord Supervisor: handlers name + tags 6 years ago
tomcat tomcat: better nrpe check output 5 years ago
tomcat-instance whitespaces 5 years ago
unbound unbound: retrieve list of root DNS servers 5 years ago
varnish varnish: Add -F to the sustemd unit to not fork at start 5 years ago
vrrpd Rename role "apt-repositories" to "apt" 6 years ago
webapps evoadmin-mail: complete refactoring, use Debian Package 5 years ago
.gitignore gitignore cleanup 6 years ago * ntpd: Update the restrictions to follow client config 4 years ago
LICENSE Add the GPLv2 licence 6 years ago ansible-roles is now only-Linux compatible, and add precision for compatibility (Debian 9 and accidentally Debian 8) 6 years ago
evolix Add an evolix symlink for prefixed roles 5 years ago
java8 java: support for Oracle JRE 5 years ago


A repository for Ansible roles used by Evolix on Debian GNU/Linux 9 (stretch) servers. Few roles are also be compatible with Debian GNU/Linux 8 (jessie) servers.

It contains only roles, everything else is available at


The stable branch contains roles that we consider ready for production.

The unstable branch contains not sufficiently tested roles (or evolutions on existing roles) that we don't consider ready for production yet.

Many feature branches may exist in the repository. They represent "work in progress". They may be used, for testing purposes.

Install and usage

First, check-out the repository :

$ cd ~/GIT/
$ git clone

Then, add its path to your ansible load path :

$ vim ~/.ansible.cfg
roles_path = $HOME/GIT/ansible-roles

Then, include roles in your playbooks :

- hosts: all
  gather_facts: yes
  become: yes
    - etc-git
    - evolinux-base


Contributions are welcome, especially bug fixes and "ansible good practices". They will be merged in if they are consistent with our conventions and use cases. They might be rejected if they introduce complexity, cover features we don't need or don't fit "style".

Before starting anything of importance, we suggest contacting us to discuss what you'd like to add or change.

Our conventions are available in the "ansible-public": repository, in the file.


The ideal and most typical workflow is to create a branch, based on the "unstable" branch. The branch should have a descriptive name (a ticket/issue number is great). The branch can be treated as a pull-request or merge-request. It should be propery tested and reviewed before merging into "unstable".

Changes that don't introduce significant changes — or that must go faster that the typical workflow — can be commited directly into "unstable".

Hotfixes, can be prepared on a new branch, based on "stable" or "unstable" (to be decided by the author). When ready, it can be merged back to "stable" for immediate deployment and to "unstable" for proper backporting.

Other workflow are not forbidden, but should be discussed in advance.