mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +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'
 | |
|     
 | |
|   
 |