From a9d77de2a4f5fb0be6bd68a44dd89a35fdf2b6fe Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Mon, 11 Aug 2025 01:26:10 +0200 Subject: [PATCH] Optimized docker compose ensure logic --- roles/docker-compose/tasks/04_ensure_up.yml | 10 +++++++--- roles/docker-compose/vars/main.yml | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/roles/docker-compose/tasks/04_ensure_up.yml b/roles/docker-compose/tasks/04_ensure_up.yml index 47cc563b..13b72856 100644 --- a/roles/docker-compose/tasks/04_ensure_up.yml +++ b/roles/docker-compose/tasks/04_ensure_up.yml @@ -3,12 +3,16 @@ args: chdir: "{{ docker_compose.directories.instance }}" register: docker_ps - changed_when: (docker_ps.stdout | trim) == "" + changed_when: > + (docker_ps.stdout | trim) == "" # The failed when catches the condition when an docker compose file will be dynamicly build after the file routine + # Also if an .env file isn't present failed_when: > docker_ps.rc != 0 - and - 'no configuration file provided: not found' not in (docker_ps.stderr | default('')) + and ( + (docker_ps.stderr | default('')) + | regex_search('(no configuration file provided|no such file or directory|env file .* not found)') is none + ) when: > not ( docker_compose_template.changed | default(false) diff --git a/roles/docker-compose/vars/main.yml b/roles/docker-compose/vars/main.yml index c22ee039..aa431aee 100644 --- a/roles/docker-compose/vars/main.yml +++ b/roles/docker-compose/vars/main.yml @@ -1 +1 @@ -docker_compose_variable_file: "{{ role_path }}/vars/docker-compose.yml" \ No newline at end of file +docker_compose_variable_file: "{{ role_path }}/vars/docker-compose.yml"