linderhof/roles/dns/tasks/extra_mail_domain.yml
Matthias Johnson b38cd94fc8 Fix fresh-deploy blockers and clean up architecture
- Seed postfix-accounts.cf before mailserver start to satisfy Dovecot's
  requirement for at least one account on first boot
- Add failed_when: false to mail user/alias list tasks (files don't exist
  on first run)
- Add forgejo_runner_version (was undefined); default to 12
- Create /srv/forgejo/data/gitea/conf before deploying app.ini
- Decouple goaccess sync from restic: new enable_goaccess_sync flag with
  its own goaccess_sync_* variables
- Move Docker installation to bootstrap exclusively; rename docker.yml to
  networks.yml (runs docker_network role only)
- Add radicale_password to vault template and setup.sh
- Fix goaccess sync tasks gated on enable_goaccess_sync
- Add upstream bug comment to authorized_key deprecation warning
- Update CLAUDE.md and README.md throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 00:51:16 -07:00

56 lines
1.4 KiB
YAML

---
- name: "{{ extra_domain }} A record"
hetzner.hcloud.zone_rrset:
zone: "{{ extra_domain }}"
name: "@"
type: A
ttl: 300
records:
- value: "{{ server_ip }}"
api_token: "{{ hcloud_token }}"
state: present
- name: "{{ extra_domain }} MX record"
hetzner.hcloud.zone_rrset:
zone: "{{ extra_domain }}"
name: "@"
type: MX
ttl: 300
records:
- value: "10 {{ mail_hostname }}."
api_token: "{{ hcloud_token }}"
state: present
- name: "{{ extra_domain }} SPF record"
hetzner.hcloud.zone_rrset:
zone: "{{ extra_domain }}"
name: "@"
type: TXT
ttl: 300
records:
- value: "{{ 'v=spf1 mx -all' | hetzner.hcloud.txt_record }}"
api_token: "{{ hcloud_token }}"
state: present
- name: "{{ extra_domain }} DMARC record"
hetzner.hcloud.zone_rrset:
zone: "{{ extra_domain }}"
name: _dmarc
type: TXT
ttl: 300
records:
- value: "{{ ('v=DMARC1; p=none; rua=mailto:dmarc@' + extra_domain) | hetzner.hcloud.txt_record }}"
api_token: "{{ hcloud_token }}"
state: present
- name: "{{ extra_domain }} DKIM record"
hetzner.hcloud.zone_rrset:
zone: "{{ extra_domain }}"
name: mail._domainkey
type: TXT
ttl: 300
records:
- value: "{{ dkim_keys[extra_domain] | hetzner.hcloud.txt_record }}"
api_token: "{{ hcloud_token }}"
state: present
when: dkim_keys is defined and extra_domain in dkim_keys