Files
oopen-server/roles/common/tasks/redis-server.yml
T

159 lines
4.1 KiB
YAML

---
- name: (redis-server.yml) Set var 'common_redis_conf'
ansible.builtin.set_fact:
common_redis_conf: >-
{{
'/etc/redis.conf'
if ansible_facts['distribution'] == 'CentOS'
else '/etc/redis/redis.conf'
}}
- name: (redis-server.yml) update
ansible.builtin.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) Configure any half-installed packages
'dpkg --configure -a'
ansible.builtin.command: dpkg --configure -a
register: common_dpkg_configure
changed_when: (common_dpkg_configure.stdout | default('')) | length > 0
failed_when: common_dpkg_configure.rc != 0
when:
- ansible_facts['distribution'] == "Debian"
- apt_dpkg_configure|bool
tags:
- redis-server
- name: (redis-server.yml) upgrade
ansible.builtin.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)
ansible.builtin.apt:
name: redis-server
state: present
when:
- ansible_facts['distribution'] == "Debian"
tags:
- redis-server
- name: (redis-server.yml) Install redis packages (centos / fedora system)
ansible.builtin.dnf:
name: redis
state: present
update_cache: true
when:
- ansible_facts["os_family"] == "RedHat"
- ansible_distribution == "CentOS" or ansible_distribution == "Fedora"
tags:
- redis-server
- name: (redis-server.yml) Determine available users
ansible.builtin.getent:
database: passwd
tags:
- redis-server
- name: (redis-server.yml) Determine available groups
ansible.builtin.getent:
database: group
tags:
- redis-server
- name: (redis-server.yml) Add user 'www-data' to group 'redis'
ansible.builtin.user:
name: www-data
groups: redis
append: true
when:
- "'www-data' in my_users"
- "'redis' in my_groups"
vars:
my_users: "{{ ansible_facts.getent_passwd.keys() | list }}"
my_groups: "{{ ansible_facts.getent_group.keys() | list }}"
tags:
- redis-server
- name: (redis-server.yml) Add user 'webadmin' to group 'redis'
ansible.builtin.user:
name: webadmin
groups: redis
append: true
when:
- "'webadmin' in my_users"
- "'redis' in my_groups"
vars:
my_users: "{{ ansible_facts.getent_passwd.keys() | list }}"
my_groups: "{{ ansible_facts.getent_group.keys() | list }}"
tags:
- redis-server
- name: (redis-server.yml) Check if redis configuration file exists
ansible.builtin.stat:
path: "{{ common_redis_conf }}.ORIG"
register: common_redis_conf_exists
tags:
- redis-server
- name: (redis-server.yml) Backup existing redis configuration file.
ansible.builtin.copy:
src: "{{ common_redis_conf }}"
dest: "{{ common_redis_conf }}.ORIG"
remote_src: true
mode: preserve
when:
- not common_redis_conf_exists.stat.exists
tags:
- redis-server
- name: (redis-server.yml) adjust redis configuration
ansible.builtin.lineinfile:
dest: "{{ common_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