Ansible Role redis
This role installs and configures Redis, per default listening on TCP 127.0.0.1:6379. Note that this role configures Systemd with unit file overrides for Redis.
This role is only compatible with the following Redis versions:
5
6
7
You can pre-enable Remi’s repo with the linuxfabrik.lfops.repo_remi role to get an up-to-date Redis version. If you use the Redis Playbook, this is automatically done for you.
Runs on
RHEL 8 (and compatible)
Optional Role Variables
Variable |
Description |
Default Value |
---|---|---|
|
Enables or disables the influxdb service, analogous to |
|
|
Systemd: Resource limit directive for the number of file descriptors. |
|
|
Systemd: Configures the time to wait for start-up. If Redis does not signal start-up completion within the configured time, the service will be considered failed and will be shut down again. |
|
|
Systemd: First, it configures the time to wait for the ExecStop= command. Second, it configures the time to wait for the Redis itself to stop. If Redis doesn’t terminate in the specified time, it will be forcibly terminated by SIGKILL. |
|
Example:
# optional
redis__service_enabled: true
redis__service_limit_nofile: 10240
redis__service_timeout_start_sec: 5
redis__service_timeout_stop_sec: 5
redis__conf_*
config directives
Variables for redis.conf
directives and their default values, defined and supported by this role.
Role Variable |
Documentation |
Default Value |
---|---|---|
|
|
|
|
v5, v6: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If port |
|
|
|
|
|
|
|
|
|
Example:
redis__conf_auto_aof_rewrite_min_size: '64MB'
redis__conf_bind: '127.0.0.1'
redis__conf_daemonize: 'no'
redis__conf_databases: 16
redis__conf_loglevel: 'notice'
redis__conf_maxmemory: '50MB'
redis__conf_maxmemory_policy: 'noeviction'
redis__conf_port: 6379 # If port 0 is specified Redis will not listen on a TCP socket.
redis__conf_protected_mode: 'yes'
redis__conf_replica_serve_stale_data: 'yes'
redis__conf_supervised: 'auto'
Troubleshooting
Actually not an issue: The role configures Systemd correctly, even if you get WARNING supervised by systemd - you MUST set appropriate values for TimeoutStartSec and TimeoutStopSec in your service unit
in /var/log/redis/redis.log
. This can safely be ignored according to this GitHub issue.