computer-playbook/roles/nginx-www-redirect/tasks/main.yml

28 lines
1.0 KiB
YAML

---
- name: Find all .conf
ansible.builtin.find:
paths: "{{nginx_servers_directory}}"
patterns: '*.*.conf'
register: conf_files
- name: Filter domain names and remove .conf extension and path
set_fact:
filtered_domains: "{{ conf_files.files | map(attribute='path') | map('regex_search', domain_regex) | select('string') | map('regex_replace', path_regex, '') | map('regex_replace', '.conf$', '') | list }}"
vars:
domain_regex: "^{{ nginx_servers_directory }}(?!www\\.)[^/]+\\.conf$"
path_regex: "^{{ nginx_servers_directory }}"
- name: The domains for which a www. redirect will be implemented
debug:
var: filtered_domains
- name: Prepare redirect domain mappings
set_fact:
redirect_domain_mappings: "{{ filtered_domains | map('regex_replace', '^(.*)$', '{ source: \"www.\\1\", target: \"\\1\" }') | map('from_yaml') | list }}"
- name: Include nginx-domain-redirect role with dynamic domain mappings
include_role:
name: nginx-domain-redirect
vars:
domain_mappings: "{{ redirect_domain_mappings }}"