mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-07-27 00:05:44 +02:00
Update to 2021-12-01 19:13
This commit is contained in:
12
roles/redis_server/defaults/main.yml
Normal file
12
roles/redis_server/defaults/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
|
||||
redis_port: 6379
|
||||
redis_ip:
|
||||
- '127.0.0.1'
|
||||
redis_src_ip: []
|
||||
redis_timeout: 0
|
||||
redis_tcp_keepalive: 60
|
||||
redis_databases: 16
|
||||
# redis_pass: secret
|
||||
|
||||
...
|
16
roles/redis_server/files/redis_copy_dumps.sh
Normal file
16
roles/redis_server/files/redis_copy_dumps.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
DEST=/home/lbkp/redis
|
||||
|
||||
[ -d $DEST ] || mkdir -p $DEST
|
||||
|
||||
echo "Saving dump.rdb"
|
||||
/usr/bin/redis-cli save
|
||||
for FILE in dump.rdb appendonly.aof; do
|
||||
if [ -e /var/lib/redis/$FILE ]; then
|
||||
echo "Copying /var/lib/redis/$FILE to $DEST"
|
||||
cp /var/lib/redis/$FILE $DEST/
|
||||
fi
|
||||
done
|
4
roles/redis_server/files/redis_delete_dumps.sh
Normal file
4
roles/redis_server/files/redis_delete_dumps.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#/bin/sh
|
||||
|
||||
set -e
|
||||
rm -f /home/lbkp/redis/*
|
4
roles/redis_server/handlers/main.yml
Normal file
4
roles/redis_server/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
- name: restart redis
|
||||
service: name=redis state=restarted enabled=yes
|
||||
...
|
4
roles/redis_server/meta/main.yml
Normal file
4
roles/redis_server/meta/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
|
||||
dependencies:
|
||||
- role: repo_remi
|
42
roles/redis_server/tasks/main.yml
Normal file
42
roles/redis_server/tasks/main.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
|
||||
- name: Install redis server
|
||||
yum: name=redis state=present
|
||||
tags: redis
|
||||
|
||||
- name: Check if /etc/redis dir exists
|
||||
stat: path=/etc/redis
|
||||
register: redis_etc_dir
|
||||
tags: redis
|
||||
|
||||
- name: Deploy redis configuration
|
||||
template: src=redis.conf.j2 dest={{ (redis_etc_dir.stat.exists and redis_etc_dir.stat.isdir) | ternary('/etc/redis/redis.conf','/etc/redis.conf') }}
|
||||
notify: restart redis
|
||||
tags: redis
|
||||
|
||||
- name: Deploy pre and post backup hooks
|
||||
copy: src={{ item.script }} dest=/etc/backup/{{ item.hook }}.d/{{ item.script }} mode=755
|
||||
with_items:
|
||||
- script: 'redis_copy_dumps.sh'
|
||||
hook: pre
|
||||
- script: 'redis_delete_dumps.sh'
|
||||
hook: post
|
||||
tags: redis
|
||||
|
||||
- name: Disable redis-sentinel
|
||||
service: name=redis-sentinel state=stopped enabled=no
|
||||
tags: redis
|
||||
|
||||
- name: Handle redis port
|
||||
iptables_raw:
|
||||
name: redis_port
|
||||
state: "{{ (redis_src_ip | length > 0) | ternary('present','absent') }}"
|
||||
rules: "-A INPUT -m state --state NEW -p tcp --dport {{ redis_port }} -s {{ redis_src_ip | join(',') }} -j ACCEPT"
|
||||
when: iptables_manage | default(True)
|
||||
tags: redis
|
||||
|
||||
- name: Start and enable the service
|
||||
service: name=redis state=started enabled=True
|
||||
tags: redis
|
||||
|
||||
...
|
21
roles/redis_server/templates/redis.conf.j2
Normal file
21
roles/redis_server/templates/redis.conf.j2
Normal file
@@ -0,0 +1,21 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
daemonize no
|
||||
pidfile /var/run/redis/redis.pid
|
||||
port {{ redis_port }}
|
||||
tcp-backlog 511
|
||||
bind {{ redis_ip | join(' ') }}
|
||||
timeout {{ redis_timeout }}
|
||||
tcp-keepalive {{ redis_tcp_keepalive }}
|
||||
loglevel notice
|
||||
logfile ""
|
||||
databases {{ redis_databases }}
|
||||
save 900 1
|
||||
save 300 10
|
||||
save 60 10000
|
||||
stop-writes-on-bgsave-error yes
|
||||
dbfilename dump.rdb
|
||||
dir /var/lib/redis/
|
||||
{% if redis_pass is defined %}
|
||||
requirepass {{ redis_pass }}
|
||||
{% endif %}
|
Reference in New Issue
Block a user