summaryrefslogtreecommitdiff
path: root/tasks/manage-docker-compose-service.yml
blob: 1910b0f4d1f937d1de302a6048b015f69fa7212e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---

- name: "Copy rendered templates for {{ service_name }}"
  ansible.builtin.import_tasks: copy-rendered-templates-recursive.yml
  vars:
    render_dir: "{{ template_render_dir }}"
    destination_dir: "{{ service_destination_dir }}"

- name: "Ensure {{ service_name }} service is enabled and started"
  ansible.builtin.systemd_service:
    state: "{{ state | default('restarted') }}"
    enabled: true
    daemon_reload: true
    name: "docker-compose@{{ service_name }}"

- name: "Perform rollout for {{ service_name }}"
  with_items: "{{ rollout_services | default([]) }}"
  ansible.builtin.shell:
    cmd: "/usr/local/bin/docker-rollout rollout -f docker-compose.yml {{ item.rollout_extra_args | default('') }} {{ item.name }}"
    chdir: "{{ service_destination_dir }}"
  register: rollout_result
  when: not homelab_build
  changed_when: "'Waiting for new containers to be healthy' in rollout_result.stdout"
  failed_when: rollout_result.rc != 0 or 'Rolling back.' in rollout_result.stdout