summaryrefslogtreecommitdiff
path: root/tasks/manage-docker-compose-service.yml
blob: 937340b5b0c371ab75b9d3c36dd5d864bfa98c8b (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
25
26
27
28
29
---

- name: "Copy rendered templates for {{ service_name }}"
  ansible.builtin.import_tasks: copy-rendered-templates-recursive.yml
  become: true
  vars:
    owner: "{{ service_owner | default('1000') }}"
    mode: "{{ file_mode | default('777') }}"
    render_dir: "{{ template_render_dir }}"
    destination_dir: "{{ service_destination_dir }}"

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

- name: "Perform rollout for {{ service_name }}"
  become: true
  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