From 298f3ddcf0dd1fc3e2d92fa5f17fbcafa3d0a63c Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Thu, 28 Dec 2017 17:28:31 +0100 Subject: [PATCH] Redis: proetcted-mode is supported in Redis 3.2+ --- redis/defaults/main.yml | 1 + redis/tasks/main.yml | 10 ++++++++++ redis/templates/redis.conf.j2 | 2 ++ 3 files changed, 13 insertions(+) diff --git a/redis/defaults/main.yml b/redis/defaults/main.yml index b67a6568..46aaf555 100644 --- a/redis/defaults/main.yml +++ b/redis/defaults/main.yml @@ -31,6 +31,7 @@ redis_maxmemory_samples: 5 redis_appendonly: "no" redis_appendfsync: "everysec" +# Supported only in Redis 3.2+ redis_protected_mode: "yes" # Add extra include files for local configuration/overrides. diff --git a/redis/tasks/main.yml b/redis/tasks/main.yml index edcb5764..ab07e399 100644 --- a/redis/tasks/main.yml +++ b/redis/tasks/main.yml @@ -10,6 +10,16 @@ - redis - packages +- name: Get Redis version + shell: "redis-server -v | grep -Eo '(v=\\S+)' | cut -d'=' -f 2 | grep -E '^([0-9]|\\.)+$" + changed_when: false + check_mode: no + register: _redis_installed_version + +- set_fact: + redis_installed_version: "{{ _redis_installed_version.stdout }}" + check_mode: no + - name: Redis is configured. template: src: redis.conf.j2 diff --git a/redis/templates/redis.conf.j2 b/redis/templates/redis.conf.j2 index 22b9a78e..fc529903 100644 --- a/redis/templates/redis.conf.j2 +++ b/redis/templates/redis.conf.j2 @@ -32,7 +32,9 @@ rdbcompression {{ redis_rdbcompression }} dbfilename {{ redis_dbfilename }} dir {{ redis_dbdir }} +{% if redis_installed_version | version_compare('3.2', '>=') %} protected-mode {{ redis_protected_mode }} +{% endif %} # maxclients 128