05_dns.ymlΒΆ

---
- 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': (DOMAIN_PRIMARY | to_zone),
            'name': "_atproto.%s" % DOMAIN_PRIMARY,
            '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')
                ),
              }
            ],
            [])
        )
      }}