- Add default landing page (roles/caddy/templates/index.html.j2) deployed
to empty caddy sites; adapted from YC/coming-soon by Steven Tang (MIT),
with site domain and powered-by footer linking to codeberg.org/opennomad/linderhof
- Apply hcloud_labels to all Hetzner cloud and DNS resources; default to {}
in role defaults for stacks without the variable defined
- Fix setup.sh: export stack_name so envsubst substitutes it in config.yml
- Add Codeberg repo link to README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
61 lines
1.6 KiB
YAML
61 lines
1.6 KiB
YAML
---
|
|
- name: "{{ extra_domain }} A record"
|
|
hetzner.hcloud.zone_rrset:
|
|
zone: "{{ extra_domain }}"
|
|
name: "@"
|
|
type: A
|
|
ttl: 300
|
|
records:
|
|
- value: "{{ server_ip }}"
|
|
labels: "{{ hcloud_labels }}"
|
|
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 }}."
|
|
labels: "{{ hcloud_labels }}"
|
|
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 }}"
|
|
labels: "{{ hcloud_labels }}"
|
|
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 }}"
|
|
labels: "{{ hcloud_labels }}"
|
|
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 }}"
|
|
labels: "{{ hcloud_labels }}"
|
|
api_token: "{{ hcloud_token }}"
|
|
state: present
|
|
when: dkim_keys is defined and extra_domain in dkim_keys
|