# vim: ft=yaml.ansible
---
- name: Create volume folder for service {{ service.name }}
  file:
    name: "{{ service.vars.volume_folder }}"
    state: directory

- name: Upload Compose file for service {{ service.name }}
  template:
    src: compose-files/{{ service.name }}.yml.j2
    dest: "{{ service.vars.volume_folder }}/docker-compose.yml"
    owner: root
    mode: u=rw,go=

- name: Run pre-deployment tasks for service {{ service.name }}
  include_tasks: pre_deploy/{{ service.name }}.yml
  when: service.vars.pre_deploy_tasks is defined and service.vars.pre_deploy_tasks

- name: Deploy Compose stack for service {{ service.name }}
  command: docker compose up -d --remove-orphans --pull always
  args:
    chdir: "{{ service.vars.volume_folder }}"

- name: Run post-deployment tasks for service {{ service.name }}
  include_tasks: post_deploy/{{ service.name }}.yml
  when: service.vars.post_deploy_tasks is defined and service.vars.post_deploy_tasks