forked from ccchb/ansible
101 lines
2.7 KiB
YAML
101 lines
2.7 KiB
YAML
|
---
|
|||
|
- name: Install redis
|
|||
|
package:
|
|||
|
name: redis
|
|||
|
state: present
|
|||
|
|
|||
|
- name: 'Create /var/db/redis-{{ redis_instance }}'
|
|||
|
file:
|
|||
|
path: '/var/db/redis-{{ redis_instance }}'
|
|||
|
state: directory
|
|||
|
owner: redis
|
|||
|
group: redis
|
|||
|
mode: 0700
|
|||
|
|
|||
|
- name: 'Create /var/run/redis-{{ redis_instance }}'
|
|||
|
file:
|
|||
|
path: '/var/run/redis-{{ redis_instance }}'
|
|||
|
state: directory
|
|||
|
owner: redis
|
|||
|
group: '{{ redis_client_group }}'
|
|||
|
mode: 0750
|
|||
|
|
|||
|
- name: 'Add /var/log/redis-{{ redis_instance }} to fstab'
|
|||
|
mount:
|
|||
|
path: /var/log/redis-{{ redis_instance }}
|
|||
|
src: tmpfs
|
|||
|
fstype: tmpfs
|
|||
|
opts: 'rw,size={{ redis_log_size }},mode={{ redis_log_mode }},uid={{ redis_log_uid }},gid={{ redis_log_gid }},late'
|
|||
|
state: mounted
|
|||
|
|
|||
|
- name: 'Create redis-{{ redis_instance }} service directories'
|
|||
|
file:
|
|||
|
path: '/etc/s6-rc/service/redis-{{ redis_instance}}{{ item }}'
|
|||
|
state: directory
|
|||
|
owner: root
|
|||
|
group: wheel
|
|||
|
mode: 0755
|
|||
|
with_items: '{{ redis_service_dirs }}'
|
|||
|
notify:
|
|||
|
- Reload s6-rc
|
|||
|
- 'Restart redis-{{ redis_instance }} log'
|
|||
|
- 'Restart redis-{{ redis_instance }}'
|
|||
|
|
|||
|
- name: 'Generate redis-{{ redis_instance }} service scripts'
|
|||
|
template:
|
|||
|
dest: '/etc/s6-rc/service/redis-{{ redis_instance }}{{ item }}'
|
|||
|
src: 'redis{{ item }}.j2'
|
|||
|
mode: 0555
|
|||
|
owner: root
|
|||
|
group: wheel
|
|||
|
with_items: '{{ redis_service_scripts }}'
|
|||
|
notify:
|
|||
|
- Reload s6-rc
|
|||
|
- 'Restart redis-{{ redis_instance }} log'
|
|||
|
- 'Restart redis-{{ redis_instance }}'
|
|||
|
|
|||
|
- name: 'Generate redis-{{ redis_instance }} service configuration'
|
|||
|
copy:
|
|||
|
dest: '/etc/s6-rc/service/redis-{{ redis_instance}}{{ item.name }}'
|
|||
|
content: '{{ item.content }}'
|
|||
|
mode: 0444
|
|||
|
owner: root
|
|||
|
group: wheel
|
|||
|
loop_control:
|
|||
|
label: 'redis-{{ redis_instance }}{{ item.name }} = {{ item.content }}'
|
|||
|
notify:
|
|||
|
- Reload s6-rc
|
|||
|
- 'Restart redis-{{ redis_instance }} log'
|
|||
|
- 'Restart redis-{{ redis_instance }}'
|
|||
|
with_items: '{{ redis_service_config }}'
|
|||
|
|
|||
|
- name: 'Configure redis-{{ redis_instance }}'
|
|||
|
template:
|
|||
|
dest: '/usr/local/etc/redis-{{ redis_instance }}.conf'
|
|||
|
src: redis.conf.j2
|
|||
|
mode: 0444
|
|||
|
owner: root
|
|||
|
group: wheel
|
|||
|
notify:
|
|||
|
- 'Restart redis-{{ redis_instance }}'
|
|||
|
|
|||
|
- name: Flush handlers
|
|||
|
meta: flush_handlers
|
|||
|
|
|||
|
- name: 'Start redis-{{ redis_instance }}'
|
|||
|
command: 'fdmove -c 2 1 s6-rc -u -v 2 -t 15000 change redis-{{ redis_instance }}'
|
|||
|
register: change
|
|||
|
changed_when: change.stdout | length > 0
|
|||
|
|
|||
|
- name: 'Enable redis-{{ redis_instance }}'
|
|||
|
lineinfile:
|
|||
|
path: /etc/s6-rc/service/enabled/contents
|
|||
|
regexp: "^redis-{{ redis_instance }}$"
|
|||
|
line: 'redis-{{ redis_instance }}'
|
|||
|
state: present
|
|||
|
notify:
|
|||
|
- Reload s6-rc
|
|||
|
|
|||
|
- name: Flush handlers (again)
|
|||
|
meta: flush_handlers
|