oopen-server/roles/common/tasks/redis-server.yml
2023-04-06 11:53:54 +02:00

135 lines
3.5 KiB
YAML

---
- name: (redis-server.yml) Set var '_redis_conf'
set_fact:
_redis_conf: "{{ '/etc/redis.conf' if ansible_distribution == 'CentOS' else '/etc/redis/redis.conf' }}"
- name: (redis-server.yml) update
apt:
update_cache: true
cache_valid_time: "{{ 0 if apt_config_updated is defined and apt_config_updated.changed else apt_update_cache_valid_time }}"
when:
- ansible_facts['distribution'] == "Debian"
- apt_update|bool
tags:
- redis-server
- name: (redis-server.yml) dpkg --configure
command: >
dpkg --configure -a
args:
warn: false
changed_when: _dpkg_configure.stdout_lines | length
register: _dpkg_configure
when:
- ansible_facts['distribution'] == "Debian"
- apt_update|bool
tags:
- redis-server
- name: (redis-server.yml) upgrade
apt:
upgrade: "{{ apt_upgrade_type }}"
update_cache: true
dpkg_options: "{{ apt_upgrade_dpkg_options | join(',') }}"
when:
- ansible_facts['distribution'] == "Debian"
- apt_upgrade|bool
tags:
- redis-server
- name: (redis-server.yml) Install redis-server packages (debian system)
apt:
name: redis-server
state: present
when:
- ansible_facts['distribution'] == "Debian"
tags:
- redis-server
- name: (redis-server.yml) Install redis packages (centos system)
yum:
name: redis
state: latest
update_cache: yes
when:
- ansible_os_family == "RedHat"
- ansible_distribution == "CentOS"
tags:
- redis-server
- name: (redis-server.yml) Determine available users
getent:
database: passwd
tags:
- redis-server
- name: (redis-server.yml) Determine available groups
getent:
database: group
tags:
- redis-server
- name: (redis-server.yml) Add user 'www-data' to group 'redis'
user:
name: www-data
groups: redis
append: yes
when:
- "'www-data' in my_users"
- "'redis' in my_groups"
vars:
my_users: "{{ getent_passwd.keys()|list }}"
my_groups: "{{ getent_group.keys()|list }}"
tags:
- redis-server
- name: (redis-server.yml) Add user 'webadmin' to group 'redis'
user:
name: webadmin
groups: redis
append: yes
when:
- "'webadmin' in my_users"
- "'redis' in my_groups"
vars:
my_users: "{{ getent_passwd.keys()|list }}"
my_groups: "{{ getent_group.keys()|list }}"
tags:
- redis-server
- name: (redis-server.yml) Check if redis configuration file exists
stat:
path: "{{ _redis_conf }}.ORIG"
register: redis_conf_exists
tags:
- redis-server
- name: (redis-server.yml) Backup existing redis configuration file.
command: cp -a "{{ _redis_conf }}" "{{ _redis_conf }}".ORIG
when:
- redis_conf_exists.stat.exists == False
tags:
- redis-server
- name: (redis-server.yml) adjust redis configuration
lineinfile:
dest: "{{ _redis_conf }}"
regexp: "{{ item.regexp }}"
insertafter: "{{ item.insertafter }}"
line: "{{ item.key }} {{ item.val }}"
state: present
loop:
- { regexp: '^bind\s+', key: 'bind', val: '127.0.0.1 ::1', insertafter: '^#\s*bind\s+' }
- { regexp: '^port\s+', key: 'port', val: '6379', insertafter: '^#\s*port\s+' }
- { regexp: '^unixsocket\s+', key: 'unixsocket', val: '/run/redis/redis-server.sock', insertafter: '^#\s*unixsocketperm' }
- { regexp: '^unixsocketperm', key: 'unixsocketperm', val: '770', insertafter: '^unixsocket\s+' }
- { regexp: '^logfile', key: 'logfile', val: '/var/log/redis/redis-server.log', insertafter: '^#\s+logfile\s+' }
notify: "Restart redis-server"
tags:
- redis-server