ansible-roles/redis/tasks/instances.yml

87 lines
2 KiB
YAML

---
- name: Systemd template for redis instances is installed
copy:
src: 'redis-server@.service'
dest: '/etc/systemd/system/'
mode: "0644"
tags:
- redis
- name: Redis SysVinit script is stopped and disabled
service:
name: "redis-server"
enabled: no
state: stopped
tags:
- redis
- name: Set variables for the instance
set_fact:
redis_daemon: "redis-server@{{ redis_instance_name }}"
redis_conf_path: "/etc/redis/redis-{{ redis_instance_name }}.conf"
redis_unixsocket: "/var/run/redis/{{ redis_instance_name }}/redis.sock"
redis_pidfile: "/var/run/redis/{{ redis_instance_name }}/{{ redis_daemon }}.pid"
redis_logfile: "/var/log/redis/{{ redis_instance_name }}/redis-server.log"
redis_dbdir: "/var/lib/redis/{{ redis_instance_name }}"
tags:
- redis
- name: Redis instance configuration file is present.
template:
src: redis.conf.j2
dest: "{{ redis_conf_path }}"
mode: "0644"
tags:
- redis
- name: Redis instance group is present
group:
name: "redis-{{ redis_instance_name }}"
state: present
system: True
tags:
- redis
- name: Redis instance user is present
user:
name: "redis-{{ redis_instance_name }}"
group: "redis-{{ redis_instance_name }}"
state: present
system: True
shell: '/bin/false'
tags:
- redis
- name: Ensure redis base folders will be accessible for all instances
file:
dest: "{{ item }}"
state: directory
mode: "0755"
owner: "redis"
group: "redis"
with_items:
- "/var/lib/redis"
- "/var/log/redis"
- name: Instances directories are present
file:
dest: "{{ item }}"
state: directory
mode: "0755"
owner: "redis-{{ redis_instance_name }}"
group: "redis-{{ redis_instance_name }}"
with_items:
- "{{ redis_dbdir }}"
- "{{ redis_logfile | dirname }}"
tags:
- redis
- name: Redis systemd unit is enabled and started
systemd:
name: "{{ redis_daemon }}"
enabled: yes
state: started
daemon_reload: yes
tags:
- redis