Kevin Veen-Birkenbach bd2dde3af6
refactor: replace srv-web-7-7-dns-records with sys-dns-cloudflare-records
- removed obsolete role `srv-web-7-7-dns-records` (README, meta, tasks)
- updated Gitea role to use `sys-dns-cloudflare-records` with explicit record vars
- updated web-opt-rdr-www role to use new DNS role with zone detection (`to_zone`)
- added REDIRECT_WWW_FLAVOR var to support "edge" flavor selection
2025-08-16 23:52:46 +02:00

39 lines
1.2 KiB
YAML

- block:
- name: Include dependency 'srv-web-7-4-core'
include_role:
name: srv-web-7-4-core
when: run_once_srv_web_7_4_core is not defined
- include_tasks: utils/run_once.yml
when: run_once_web_opt_rdr_www is not defined
- name: Filter www-prefixed domains from current_play_domains_all
set_fact:
www_domains: "{{ current_play_domains_all | select('match', '^www\\.') | list }}"
- name: Include web-opt-rdr-domains role for www-to-bare redirects
include_role:
name: web-opt-rdr-domains
vars:
domain_mappings: "{{ www_domains | map('regex_replace', '^www\\.(.+)$', '{ source: \"www.\\1\", target: \"\\1\" }') | map('from_yaml') | list }}"
- name: Include DNS role to set redirects
include_role:
name: sys-dns-cloudflare-records
vars:
cloudflare_records: |
{%- set bare = www_domains | map('regex_replace', '^www\\.(.+)$', '\\1') | list -%}
[
{%- for d in bare -%}
{
"type": "A",
"zone": "{{ d | to_zone }}",
"name": "{{ d }}",
"content": "{{ networks.internet.ip4 }}",
"proxied": false,
"ttl": 1
}{{ "," if not loop.last else "" }}
{%- endfor -%}
]
when: DNS_PROVIDER == 'cloudflare'