mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | ||
| - name: "DNS (Cloudflare) for Bluesky – base records"
 | ||
|   include_role:
 | ||
|     name: sys-dns-cloudflare-records
 | ||
|   when: DNS_PROVIDER | lower == 'cloudflare'
 | ||
|   vars:
 | ||
|     cloudflare_records: >-
 | ||
|       {{
 | ||
|         [
 | ||
|           {
 | ||
|             'type': 'A',
 | ||
|             'zone': (BLUESKY_API_DOMAIN | to_zone),
 | ||
|             'name': BLUESKY_API_DOMAIN,
 | ||
|             'content': networks.internet.ip4,
 | ||
|             'solo': True,
 | ||
|             'proxied': False,
 | ||
|           },
 | ||
|           {
 | ||
|             'type': 'AAAA',
 | ||
|             'zone': (BLUESKY_API_DOMAIN | to_zone),
 | ||
|             'name': BLUESKY_API_DOMAIN,
 | ||
|             'content': (networks.internet.ip6 | default('')),
 | ||
|             'proxied': False,
 | ||
|             'solo': True,
 | ||
|             'state': (
 | ||
|               ((networks.internet.ip6 is defined) and ((networks.internet.ip6 | string) | length > 0))
 | ||
|               | ternary('present','absent')
 | ||
|             ),
 | ||
|           },
 | ||
|           {
 | ||
|             'type': 'TXT',
 | ||
|             'zone': (PRIMARY_DOMAIN | to_zone),
 | ||
|             'name': "_atproto.%s" % PRIMARY_DOMAIN,
 | ||
|             'value': '"did=did:web:%s"' % BLUESKY_API_DOMAIN,
 | ||
|             'solo': True,
 | ||
|           },
 | ||
|           {
 | ||
|             'type': 'A',
 | ||
|             'solo': True,
 | ||
|             'zone': (BLUESKY_WEB_DOMAIN | to_zone),
 | ||
|             'name': BLUESKY_WEB_DOMAIN,
 | ||
|             'content': networks.internet.ip4,
 | ||
|             'proxied': False,
 | ||
|             'state': ((BLUESKY_WEB_ENABLED | bool) | ternary('present','absent')),
 | ||
|           },
 | ||
|           {
 | ||
|             'type': 'AAAA',
 | ||
|             'solo': True,
 | ||
|             'zone': (BLUESKY_WEB_DOMAIN | to_zone),
 | ||
|             'name': BLUESKY_WEB_DOMAIN,
 | ||
|             'content': (networks.internet.ip6 | default('')),
 | ||
|             'proxied': False,
 | ||
|             'state': (
 | ||
|               ((BLUESKY_WEB_ENABLED | bool)
 | ||
|                and (networks.internet.ip6 is defined)
 | ||
|                and ((networks.internet.ip6 | string) | length > 0))
 | ||
|               | ternary('present','absent')
 | ||
|             ),
 | ||
|           },
 | ||
|         ]
 | ||
|         +
 | ||
|         (
 | ||
|           (BLUESKY_VIEW_DOMAIN_FINAL != 'api.bsky.app')
 | ||
|           | ternary([
 | ||
|               {
 | ||
|                 'type': 'A',
 | ||
|                 'solo': True,
 | ||
|                 'zone': (BLUESKY_VIEW_DOMAIN_FINAL | to_zone),
 | ||
|                 'name': BLUESKY_VIEW_DOMAIN_FINAL,
 | ||
|                 'content': networks.internet.ip4,
 | ||
|                 'proxied': False,
 | ||
|                 'state': (
 | ||
|                   ((BLUESKY_VIEW_ENABLED | bool))
 | ||
|                   | ternary('present','absent')
 | ||
|                 ),
 | ||
|               },
 | ||
|               {
 | ||
|                 'type': 'AAAA',
 | ||
|                 'solo': True,
 | ||
|                 'zone': (BLUESKY_VIEW_DOMAIN_FINAL | to_zone),
 | ||
|                 'name': BLUESKY_VIEW_DOMAIN_FINAL,
 | ||
|                 'content': (networks.internet.ip6 | default('')),
 | ||
|                 'proxied': False,
 | ||
|                 'state': (
 | ||
|                   ((BLUESKY_VIEW_ENABLED | bool)
 | ||
|                    and (networks.internet.ip6 is defined)
 | ||
|                    and ((networks.internet.ip6 | string) | length > 0))
 | ||
|                   | ternary('present','absent')
 | ||
|                 ),
 | ||
|               }
 | ||
|             ],
 | ||
|             [])
 | ||
|         )
 | ||
|       }}
 |