Files
computer-playbook/roles/web-app-bluesky/tasks/05_dns.yml
kevinveenbirkenbachandClaude Opus 4.8 4039313266 refactor(tasks): enforce and apply a single task-file numbering scheme
Add tests/lint/repository/test_task_file_numbering.py: numbered task
files use exactly two leading digits, a numbered *_core.yml must be
00_core.yml, per directory the numbers are unique/consecutive and start
at 01 (00 with a core file), numbered includes appear in ascending
order, and shared helpers live in tasks/utils/ instead of the numbered
chain.

Apply it across every role: rename NN_core.yml to 00_core.yml with a
consecutive down-shift of the siblings, move letter-suffix children into
a subdirectory named after their parent task, relocate helpers included
from more than one place into tasks/utils/, and update every reference
(include_tasks, path_absolute, .ansible-lint-ignore, requirement docs).
Legacy narration comments in the touched files are deleted; the upstream
xwiki.properties reference block opts out via nocheck. The unused
MAILU_IP6_PUBLIC var (only ever named in now-removed comments) is dropped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 20:01:31 +02:00

95 lines
3.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
- 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')
),
}
],
[])
)
}}