⭐ Star us on GitHub — it motivates us a lot!
Install and configure Redis
Ansible >= 2.10
ansible-galaxy install claranet.redis
Variable | Default value | Description |
---|---|---|
redis_server_enabled | true | enable installation and configuration of redis server |
redis_master_ip | null | redis master ip. used for clustering scenario |
redis_group | groups.redis | redis group name in inventory |
redis_server_version | latest | redis version to install |
redis_server_user | redis | redis user for configuration |
redis_server_group | redis | group for redis |
redis_server_logdir | /var/log/redis | path to log directory |
redis_server_databases_number | 16 | number of databases |
redis_server_port | 6379 | listen port |
redis_server_password | void | password for redis authentication |
redis_conf.bind | 0.0.0.0 | listen address |
redis_conf.supervised | systemd | Supervision option |
redis_conf.pidfile | /var/run/redis_{{ redis_server_port }}.pid | pid file for systemd service |
redis_conf.logfile | redis-server_{{ redis_server_port }}.log | name of redis log file |
redis_conf.dir | /var/lib/redis | path of databases files |
redis_conf.dbfilename | {{ redis_server_port }}.rdb | database filename |
redis_conf.maxmemory-policy | allkeys-lru | max memory policy |
redis_conf.maxmemory | '{{ autocalculated | int }}' | max memory available |
redis_conf.replica-priority | 10 (master) / 100 (replica) | replica priority |
redis_conf.appendfilename | {{ redis_server_port }}.aof | redis append filename |
redis_sentinel_version | '{{ redis_server_version }}' | sentinel version to install |
redis_sentinel_enabled | false | sentinel version to install |
redis_sentinel_daemonize | true | daemonize redis sentinel |
redis_sentinel_listen | 0.0.0.0 | listen address for sentinel |
redis_sentinel_port | 26379 | port for listen address |
redis_sentinel_logdir | '{{ redis_server_logdir }}' | logdir path for sentinel |
redis_sentinel_logfile | 'redis-sentinel_{{ redis_sentinel_port }}.log' | sentinel logfile |
redis_sentinel_databases_dir | '{{ redis_server_databases_dir }}' | sentinel database directory |
redis_sentinel_quorum | 2 | redis sentinel quorum |
redis sentinel downafter | 10000 | time for downafter |
redis_sentinel_failover_timeout | 30000 | failover timeout |
All other redis parameters have default values .
Custom configuration should be declared inside a redis_conf
dictionnary (see example below)
community.general >= 2.0.0
---
- hosts: all
roles:
- role: claranet.redis
---
- hosts: all
vars:
redis_server_version: "6:7.0"
roles:
- role: claranet.redis
---
- hosts: all
vars:
redis_server_password: "foobar"
roles:
- role: claranet.redis
---
- hosts: all
vars:
redis_conf:
loglevel: "warning"
roles:
- role: claranet.redis
The available parameters for each release of redis can be found in the self documented configuration files available here
---
- name: First instance
hosts: all
vars:
redis_server_version: "6:7.0.7"
roles:
- role: claranet.redis
- name: Second instance
hosts: all
vars:
redis_server_version: "6:7.0.7"
redis_server_port: 6378
roles:
- role: claranet.redis
If installing a previous release of redis, both instances should be the same version
inventory
---
all:
children:
redis:
hosts:
master:
redis_role: master
slave-01:
redis_role: replica
slave-02:
redis_role: replica
playbook
---
- hosts: all
roles:
- role: claranet.redis
inventory
---
all:
children:
redis:
hosts:
master:
redis_role: master
slave-01:
redis_role: replica
slave-02:
redis_role: replica
playbook
---
- hosts: all
vars:
redis_sentinel_enabled: true
roles:
- role: claranet.redis