mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
refactor(dns): unify Cloudflare + Hetzner handling across roles
- replaced CERTBOT_DNS_API_TOKEN with CLOUDFLARE_API_TOKEN everywhere - introduced generic sys-dns-cloudflare-records role for managing DNS records - added sys-dns-hetzner-rdns role with both Cloud (hcloud) and Robot API flavors - updated Mailu role to: - generate DKIM before DNS setup - delegate DNS + rDNS records to the new generic roles - removed legacy per-role Cloudflare vars (MAILU_CLOUDFLARE_API_TOKEN) - extended group vars with HOSTING_PROVIDER for rDNS flavor decision - added hetzner.hcloud collection to requirements This consolidates DNS management into reusable roles, supports both Cloudflare and Hetzner providers, and standardizes variable naming across the project.
This commit is contained in:
24
roles/sys-dns-cloudflare-records/README.md
Normal file
24
roles/sys-dns-cloudflare-records/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# 🌐 Cloudflare DNS Records
|
||||
|
||||
## Description
|
||||
|
||||
Generic, data-driven role to manage DNS records on Cloudflare (A/AAAA, CNAME, MX, TXT, SRV).
|
||||
Designed for reuse across apps (e.g., Mailu) and environments.
|
||||
|
||||
## Overview
|
||||
|
||||
This role wraps `community.general.cloudflare_dns` and applies records from a single
|
||||
structured variable (`cloudflare_records`). It supports async operations and
|
||||
can be used to provision all required records for a service in one task.
|
||||
|
||||
## Features
|
||||
|
||||
- Data-driven input for multiple record types
|
||||
- Supports A/AAAA, CNAME, MX, TXT, SRV
|
||||
- Optional async execution
|
||||
- Minimal logging of secrets
|
||||
|
||||
## Further Resources
|
||||
|
||||
- [Cloudflare Dashboard → API Tokens](https://dash.cloudflare.com/profile/api-tokens)
|
||||
- [Ansible Collection: community.general.cloudflare_dns](https://docs.ansible.com/ansible/latest/collections/community/general/cloudflare_dns_module.html)
|
Reference in New Issue
Block a user