summaryrefslogtreecommitdiff
path: root/tasks/manage-docker-compose-service.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/manage-docker-compose-service.yml')
-rw-r--r--tasks/manage-docker-compose-service.yml23
1 files changed, 23 insertions, 0 deletions
diff --git a/tasks/manage-docker-compose-service.yml b/tasks/manage-docker-compose-service.yml
new file mode 100644
index 0000000..793d2ac
--- /dev/null
+++ b/tasks/manage-docker-compose-service.yml
@@ -0,0 +1,23 @@
+---
+
+- 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
+ 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