ajoute un rôle "redis"

This commit is contained in:
Jérémy Lecour 2016-09-29 10:59:13 +02:00 committed by Jérémy Lecour
parent 4ec5e1a245
commit fcbc9b67fc
5 changed files with 124 additions and 0 deletions

23
redis/README.md Normal file
View File

@ -0,0 +1,23 @@
# munin
Installation de Redis.
Rôle basé sur https://github.com/geerlingguy/ansible-role-redis
## Taches
L'ensemble des actions est dans le fichier `tasks/main.yml`
## Variables possibles
Les variables principales sont :
* `redis_daemon`: nom du processus
* `redis_conf_path`: emplacement du fichier de config
* `redis_port`: port TCP d'écoute
* `redis_bind_interface`: IP d'écoute
* `redis_unixsocket`: socket Unix écouté
* `redis_loglevel`: verbosité des logs
* `redis_logfile`: emplacement du fichier de log
La liste complète est disponible dans `defaults/main.yml`.

33
redis/defaults/main.yml Normal file
View File

@ -0,0 +1,33 @@
---
redis_daemon: redis-server
redis_conf_path: /etc/redis/redis.conf
redis_port: 6379
redis_bind_interface: 127.0.0.1
redis_unixsocket: ''
redis_timeout: 300
redis_loglevel: "notice"
redis_logfile: /var/log/redis/redis-server.log
redis_databases: 16
# Set to an empty set to disable persistence (saving the DB to disk).
redis_save:
- 900 1
- 300 10
- 60 10000
redis_rdbcompression: "yes"
redis_dbfilename: dump.rdb
redis_dbdir: /var/lib/redis
redis_maxmemory: 0
redis_maxmemory_policy: "noeviction"
redis_maxmemory_samples: 5
redis_appendonly: "no"
redis_appendfsync: "everysec"
# Add extra include files for local configuration/overrides.
redis_includes: []

5
redis/handlers/main.yml Normal file
View File

@ -0,0 +1,5 @@
---
- name: restart redis
service:
name: "{{ redis_daemon }}"
state: restarted

18
redis/tasks/main.yml Normal file
View File

@ -0,0 +1,18 @@
---
- name: Ensure redis is installed.
apt:
name: redis-server
state: installed
- name: Ensure Redis is configured.
template:
src: redis.conf.j2
dest: "{{ redis_conf_path }}"
mode: 0644
notify: restart redis
- name: Ensure redis is running and enabled on boot.
service:
name: "{{ redis_daemon }}"
enabled: yes
state: started

View File

@ -0,0 +1,45 @@
daemonize yes
pidfile /var/run/redis/{{ redis_daemon }}.pid
port {{ redis_port }}
bind {{ redis_bind_interface }}
{% if redis_unixsocket %}
unixsocket {{ redis_unixsocket }}
{% endif %}
timeout {{ redis_timeout }}
loglevel {{ redis_loglevel }}
logfile {{ redis_logfile }}
# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
# syslog-enabled no
# syslog-ident redis
# syslog-facility local0
databases {{ redis_databases }}
{% for save in redis_save %}
save {{ save }}
{% endfor %}
rdbcompression {{ redis_rdbcompression }}
dbfilename {{ redis_dbfilename }}
dir {{ redis_dbdir }}
# maxclients 128
{% if redis_maxmemory %}
maxmemory {{ redis_maxmemory }}
maxmemory-policy {{ redis_maxmemory_policy }}
maxmemory-samples {{ redis_maxmemory_samples }}
{% endif %}
appendonly {{ redis_appendonly }}
appendfsync {{ redis_appendfsync }}
no-appendfsync-on-rewrite no
{% for include in redis_includes %}
include {{ include }}
{% endfor %}