- DnsProvisioner (dependency-frei, cURL) legt pro Reseller *.<slug>.<portal>
A-Record via Hetzner-Cloud-DNS-API an (deckt firma.reseller.portal ab,
was der globale *.<portal>-Eintrag nicht kann)
- ResellerDnsListener (Doctrine postPersist/preRemove), fail-soft,
überspringt Plattform-Reseller
- Env HCLOUD_DNS_TOKEN/HCLOUD_DNS_ZONE_NAME (leer = aus); Terraform reicht
Cloud-Token + Zone an die App-Nodes durch (nur bei manage_dns)
- Ziel-IP = APP_EDGE_IP oder DNS-Auflösung der Portal-Domain
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>