mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-11-03 19:58:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
- block:
 | 
						|
  - name: Include dependency 'sys-svc-webserver'
 | 
						|
    include_role:
 | 
						|
      name: sys-svc-webserver
 | 
						|
    when: run_once_sys_svc_webserver is not defined
 | 
						|
  - include_tasks: utils/run_once.yml
 | 
						|
  when: run_once_web_opt_rdr_www is not defined
 | 
						|
 | 
						|
- name: Include web-opt-rdr-domains role for www-to-bare redirects
 | 
						|
  include_role:
 | 
						|
    name: web-opt-rdr-domains
 | 
						|
  vars:
 | 
						|
    domain_mappings: "{{ REDIRECT_WWW_DOMAINS | map('regex_replace', '^www\\.(.+)$', '{ source: \"www.\\1\", target: \"\\1\" }') | map('from_yaml') | list }}"
 | 
						|
  when: REDIRECT_WWW_FLAVOR == 'origin'
 | 
						|
 | 
						|
- name: Include DNS role to set redirects
 | 
						|
  include_role:
 | 
						|
    name: sys-dns-cloudflare-records
 | 
						|
  vars:
 | 
						|
    cloudflare_records: |
 | 
						|
      {%- set bare = REDIRECT_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": {{ REDIRECT_WWW_FLAVOR == 'edge' }},
 | 
						|
          "ttl": 1
 | 
						|
        }{{ "," if not loop.last else "" }}
 | 
						|
      {%- endfor -%}
 | 
						|
      ]
 | 
						|
  when: 
 | 
						|
    - DNS_PROVIDER == 'cloudflare'
 | 
						|
    - REDIRECT_WWW_FLAVOR == 'origin'
 | 
						|
 | 
						|
- name: Include Cloudflare redirect rule to enforce www → apex
 | 
						|
  include_tasks: cloudflare_redirect_rule.yml
 | 
						|
  vars:
 | 
						|
    domain: "{{ item | regex_replace('^www\\.', '') }}"
 | 
						|
    www_fqdn: "{{ item }}"
 | 
						|
    apex_url: "{{ WEB_PROTOCOL }}://{{ item | regex_replace('^www\\.', '') }}"
 | 
						|
  loop: "{{ REDIRECT_WWW_DOMAINS }}"
 | 
						|
  when: REDIRECT_WWW_FLAVOR == 'edge'
 | 
						|
    
 | 
						|
  
 |