From fcbc9b67fc8567bd73f0e9696c193f96995a7344 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Thu, 29 Sep 2016 10:59:13 +0200 Subject: [PATCH] =?UTF-8?q?ajoute=20un=20r=C3=B4le=20"redis"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redis/README.md | 23 ++++++++++++++++++ redis/defaults/main.yml | 33 +++++++++++++++++++++++++ redis/handlers/main.yml | 5 ++++ redis/tasks/main.yml | 18 ++++++++++++++ redis/templates/redis.conf.j2 | 45 +++++++++++++++++++++++++++++++++++ 5 files changed, 124 insertions(+) create mode 100644 redis/README.md create mode 100644 redis/defaults/main.yml create mode 100644 redis/handlers/main.yml create mode 100644 redis/tasks/main.yml create mode 100644 redis/templates/redis.conf.j2 diff --git a/redis/README.md b/redis/README.md new file mode 100644 index 00000000..43720018 --- /dev/null +++ b/redis/README.md @@ -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`. diff --git a/redis/defaults/main.yml b/redis/defaults/main.yml new file mode 100644 index 00000000..b32fc1ef --- /dev/null +++ b/redis/defaults/main.yml @@ -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: [] diff --git a/redis/handlers/main.yml b/redis/handlers/main.yml new file mode 100644 index 00000000..dea22640 --- /dev/null +++ b/redis/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart redis + service: + name: "{{ redis_daemon }}" + state: restarted diff --git a/redis/tasks/main.yml b/redis/tasks/main.yml new file mode 100644 index 00000000..50d5a60a --- /dev/null +++ b/redis/tasks/main.yml @@ -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 diff --git a/redis/templates/redis.conf.j2 b/redis/templates/redis.conf.j2 new file mode 100644 index 00000000..f7a7c5f0 --- /dev/null +++ b/redis/templates/redis.conf.j2 @@ -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 %}