--- - 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