From 22c8c395f0cea250badbe0309fe1f019c74ee3fe Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Fri, 8 Aug 2025 19:01:12 +0200 Subject: [PATCH] Refactored handlers loading --- roles/cmp-db-docker/tasks/main.yml | 4 +- roles/docker-compose/tasks/helpers/ensure.yml | 5 --- .../tasks/{helpers => }/none.yml | 0 roles/srv-web-7-4-core/tasks/main.yml | 7 +--- roles/svc-db-postgres/tasks/main.yml | 5 ++- roles/svc-prx-openresty/tasks/none.yml | 1 + roles/web-app-port-ui/tasks/main.yml | 2 +- roles/web-svc-cdn/tasks/main.yml | 41 +++++++++---------- tasks/utils/load_handlers.yml | 5 +++ 9 files changed, 33 insertions(+), 37 deletions(-) delete mode 100644 roles/docker-compose/tasks/helpers/ensure.yml rename roles/docker-compose/tasks/{helpers => }/none.yml (100%) create mode 100644 roles/svc-prx-openresty/tasks/none.yml create mode 100644 tasks/utils/load_handlers.yml diff --git a/roles/cmp-db-docker/tasks/main.yml b/roles/cmp-db-docker/tasks/main.yml index f8022673..091c38c4 100644 --- a/roles/cmp-db-docker/tasks/main.yml +++ b/roles/cmp-db-docker/tasks/main.yml @@ -7,8 +7,8 @@ - name: "For '{{ application_id }}': Load database variables" include_vars: "{{ item }}" loop: - - "{{ DOCKER_VARS_FILE }}" # Important to load docker variables first so that database can use them - - "{{ cmp_db_docker_vars_file_db }}" # Important to load them before docker role so that backup can use them + - "{{ DOCKER_VARS_FILE }}" # Important to load docker variables first so that database can use them + - "{{ cmp_db_docker_vars_file_db }}" # Important to load them before docker role so that backup can use them - name: "For '{{ application_id }}': Load cmp-docker-oauth2" include_role: diff --git a/roles/docker-compose/tasks/helpers/ensure.yml b/roles/docker-compose/tasks/helpers/ensure.yml deleted file mode 100644 index 5d3989a6..00000000 --- a/roles/docker-compose/tasks/helpers/ensure.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: "Load handlers without when condition. to guaranty that they are executed" - import_role: - name: docker-compose - tasks_from: helpers/none - handlers_from: main \ No newline at end of file diff --git a/roles/docker-compose/tasks/helpers/none.yml b/roles/docker-compose/tasks/none.yml similarity index 100% rename from roles/docker-compose/tasks/helpers/none.yml rename to roles/docker-compose/tasks/none.yml diff --git a/roles/srv-web-7-4-core/tasks/main.yml b/roles/srv-web-7-4-core/tasks/main.yml index c9be1142..3c357fbe 100644 --- a/roles/srv-web-7-4-core/tasks/main.yml +++ b/roles/srv-web-7-4-core/tasks/main.yml @@ -49,10 +49,5 @@ dest: "{{ nginx.files.configuration }}" notify: restart openresty - - name: flush nginx service - meta: flush_handlers - - - name: run {{ role_name }} once - set_fact: - run_once_srv_web_7_4_core: true + - include_tasks: utils/run_once.yml when: run_once_srv_web_7_4_core is not defined diff --git a/roles/svc-db-postgres/tasks/main.yml b/roles/svc-db-postgres/tasks/main.yml index 4348a294..33e6c2c9 100644 --- a/roles/svc-db-postgres/tasks/main.yml +++ b/roles/svc-db-postgres/tasks/main.yml @@ -25,8 +25,9 @@ - include_tasks: utils/run_once.yml when: run_once_svc_db_postgres is not defined -- name: "Ensure that {{ docker_compose.directories.instance }} is up" - include_tasks: "{{ playbook_dir }}/roles/docker-compose/tasks/helpers/ensure.yml" +- include_tasks: "{{ playbook_dir }}/tasks/utils/load_handlers.yml" + vars: + handler_role_name: "docker-compose" - name: "Initialize database for '{{ database_name }}'" include_tasks: init.yml diff --git a/roles/svc-prx-openresty/tasks/none.yml b/roles/svc-prx-openresty/tasks/none.yml new file mode 100644 index 00000000..97576e1e --- /dev/null +++ b/roles/svc-prx-openresty/tasks/none.yml @@ -0,0 +1 @@ +# Dummy file for handler import \ No newline at end of file diff --git a/roles/web-app-port-ui/tasks/main.yml b/roles/web-app-port-ui/tasks/main.yml index 661c91f7..7b1b0057 100644 --- a/roles/web-app-port-ui/tasks/main.yml +++ b/roles/web-app-port-ui/tasks/main.yml @@ -62,4 +62,4 @@ notify: docker compose up - include_tasks: utils/run_once.yml - when: run_once_web_app_port_ui is not defined + when: run_once_web_app_port_ui is not defined \ No newline at end of file diff --git a/roles/web-svc-cdn/tasks/main.yml b/roles/web-svc-cdn/tasks/main.yml index f24343ca..9164c5b2 100644 --- a/roles/web-svc-cdn/tasks/main.yml +++ b/roles/web-svc-cdn/tasks/main.yml @@ -1,23 +1,22 @@ --- -- name: "include role for {{application_id}} to receive certs & do modification routines" - include_role: - name: srv-web-7-6-composer +- block: + + - name: "include role for {{application_id}} to receive certs & do modification routines" + include_role: + name: srv-web-7-6-composer + vars: + domain: "{{ domains | get_domain(application_id) }}" + http_port: "{{ ports.localhost.http[application_id] }}" + + - name: "generate {{domains | get_domain(application_id)}}.conf" + template: + src: "nginx.conf.j2" + dest: "{{ nginx.directories.http.servers }}{{ domains | get_domain(application_id) }}.conf" + notify: restart openresty + + - include_tasks: utils/run_once.yml + when: run_once_web_svc_cdn is not defined + +- include_tasks: "{{ playbook_dir }}/tasks/utils/load_handlers.yml" vars: - domain: "{{ domains | get_domain(application_id) }}" - http_port: "{{ ports.localhost.http[application_id] }}" - when: run_once_web_svc_cdn is not defined - -- name: "generate {{domains | get_domain(application_id)}}.conf" - template: - src: "nginx.conf.j2" - dest: "{{ nginx.directories.http.servers }}{{ domains | get_domain(application_id) }}.conf" - notify: restart openresty - when: run_once_web_svc_cdn is not defined - -- name: run the web svc cdn tasks once - set_fact: - run_once_web_svc_cdn: true - when: run_once_web_svc_cdn is not defined - -- name: "Ensure that {{ docker_compose.directories.instance }} is up" - include_tasks: "{{ playbook_dir }}/roles/docker-compose/tasks/helpers/ensure.yml" \ No newline at end of file + handler_role_name: "docker-compose" diff --git a/tasks/utils/load_handlers.yml b/tasks/utils/load_handlers.yml new file mode 100644 index 00000000..573b5578 --- /dev/null +++ b/tasks/utils/load_handlers.yml @@ -0,0 +1,5 @@ + - name: "Load pure handlers from '{{ handler_role_name }}' without 'when' to guaranty that they are executed" + import_role: + name: "{{ handler_role_name }}" + tasks_from: "none.yml" + handlers_from: main