135 lines
3.5 KiB
YAML
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
|