From e0b94c21ff2cbabe1e4a7d89377d9914fe1c4f59 Mon Sep 17 00:00:00 2001 From: Dale Grant Date: Thu, 1 May 2025 16:22:24 +1000 Subject: [PATCH 1/3] Filter Nginx includes by sites present on target server --- .../wordpress-setup/tasks/nginx-includes.yml | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/roles/wordpress-setup/tasks/nginx-includes.yml b/roles/wordpress-setup/tasks/nginx-includes.yml index 265011cea0..6b666b7f2f 100644 --- a/roles/wordpress-setup/tasks/nginx-includes.yml +++ b/roles/wordpress-setup/tasks/nginx-includes.yml @@ -13,7 +13,30 @@ recurse: yes become: no delegate_to: localhost - register: nginx_includes_templates + register: nginx_includes_templates_all + + - name: Combine site keys with extra include folders + set_fact: + nginx_include_contexts: >- + {{ + (wordpress_sites.keys() | list) + + ( + (nginx_includes_extra_folders + if nginx_includes_extra_folders is iterable and not nginx_includes_extra_folders is string + else [nginx_includes_extra_folders | default('all')] + ) + ) + }} + + - name: Filter Nginx includes templates by existing sites and global folders + set_fact: + nginx_includes_templates: + files: >- + {{ + nginx_includes_templates_all.files + | selectattr('path', 'search', '/(' + nginx_include_contexts | join('|') + ')/') + | list + }} - name: Create includes.d directories file: From 6c3b31fcf0049e2c4b7e9bcc8727a27b1439ed4d Mon Sep 17 00:00:00 2001 From: Dale Grant Date: Thu, 1 May 2025 17:05:49 +1000 Subject: [PATCH 2/3] Split out collating extra include folders for easier reading. --- .../wordpress-setup/tasks/nginx-includes.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/wordpress-setup/tasks/nginx-includes.yml b/roles/wordpress-setup/tasks/nginx-includes.yml index 6b666b7f2f..7f8dcdbee3 100644 --- a/roles/wordpress-setup/tasks/nginx-includes.yml +++ b/roles/wordpress-setup/tasks/nginx-includes.yml @@ -15,20 +15,20 @@ delegate_to: localhost register: nginx_includes_templates_all - - name: Combine site keys with extra include folders + - name: Normalize extra include folders to a list set_fact: - nginx_include_contexts: >- + nginx_includes_extra_folders_list: >- {{ - (wordpress_sites.keys() | list) - + ( - (nginx_includes_extra_folders - if nginx_includes_extra_folders is iterable and not nginx_includes_extra_folders is string - else [nginx_includes_extra_folders | default('all')] - ) - ) + nginx_includes_extra_folders + if nginx_includes_extra_folders is iterable and not nginx_includes_extra_folders is string + else [nginx_includes_extra_folders | default('all')] }} - - name: Filter Nginx includes templates by existing sites and global folders + - name: Combine site keys with extra include folders + set_fact: + nginx_include_contexts: "{{ wordpress_sites.keys() | list + nginx_includes_extra_folders_list }}" + + - name: Filter Nginx includes templates by existing sites and extra folders set_fact: nginx_includes_templates: files: >- From 99fb7a702ff091c2bc16307303aadd99e040f55b Mon Sep 17 00:00:00 2001 From: Dale Grant Date: Thu, 1 May 2025 17:17:45 +1000 Subject: [PATCH 3/3] Set default variable nginx_includes_extra_folders: 'all' --- roles/wordpress-setup/defaults/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/wordpress-setup/defaults/main.yml b/roles/wordpress-setup/defaults/main.yml index e654f59aa7..b3112df2da 100644 --- a/roles/wordpress-setup/defaults/main.yml +++ b/roles/wordpress-setup/defaults/main.yml @@ -30,6 +30,7 @@ nginx_cache_background_update: "on" nginx_includes_templates_path: nginx-includes nginx_includes_pattern: "^({{ nginx_includes_templates_path | regex_escape }})/(.*)\\.j2$" nginx_includes_d_cleanup: true +nginx_includes_extra_folders: 'all' # h5bp helpers not_dev: "{{ env != 'development' }}"