Der germanbrew/hetznerdns-Provider ruft schon beim Init die API auf und scheitert am leeren Token, selbst ohne DNS-Ressourcen. Da DNS standardmäßig manuell gesetzt wird (manage_dns=false), Provider entfernt + dns.tf → dns.tf.disabled (Code bleibt für späteres Aktivieren erhalten). Lock-File auf hcloud-only reduziert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
1000 B
Plaintext
33 lines
1000 B
Plaintext
# Optional: DNS-Records über die Hetzner DNS API anlegen (manage_dns = true).
|
|
# Voraussetzung: Zone liegt bei Hetzner DNS, separater DNS-API-Token.
|
|
|
|
data "hetznerdns_zone" "zone" {
|
|
count = var.manage_dns ? 1 : 0
|
|
name = var.dns_zone_name
|
|
}
|
|
|
|
locals {
|
|
# Relativer Record-Name: "@" wenn Portal == Zone, sonst der Subdomain-Teil
|
|
portal_record_name = var.domain == var.dns_zone_name ? "@" : replace(var.domain, ".${var.dns_zone_name}", "")
|
|
}
|
|
|
|
# Portal-Domain → Caddy
|
|
resource "hetznerdns_record" "portal" {
|
|
count = var.manage_dns ? 1 : 0
|
|
zone_id = data.hetznerdns_zone.zone[0].id
|
|
name = local.portal_record_name
|
|
type = "A"
|
|
value = hcloud_server.caddy.ipv4_address
|
|
ttl = 300
|
|
}
|
|
|
|
# Wildcard für Firmen-Subdomains (KONZEPT §11) → Caddy (On-Demand-TLS)
|
|
resource "hetznerdns_record" "wildcard" {
|
|
count = var.manage_dns ? 1 : 0
|
|
zone_id = data.hetznerdns_zone.zone[0].id
|
|
name = "*"
|
|
type = "A"
|
|
value = hcloud_server.caddy.ipv4_address
|
|
ttl = 300
|
|
}
|