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>
This commit is contained in:
parent
75891c3271
commit
b38cd94fc8
23 changed files with 400 additions and 307 deletions
56
roles/dns/tasks/extra_mail_domain.yml
Normal file
56
roles/dns/tasks/extra_mail_domain.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
- 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue