feat: Added DNS control to tofu

This commit is contained in:
2026-07-10 22:19:08 +01:00
parent e39e1637da
commit ae34a78a1d
9 changed files with 109 additions and 5 deletions
+27
View File
@@ -17,6 +17,26 @@ locals {
# IDs for every named key in var.ssh_key_names - installed on every server.
ssh_key_ids = [for k in data.hcloud_ssh_key.main : k.id]
# Every A record currently referenced by a Traefik Host() rule anywhere under
# services/ - kept in sync with the actual compose files, not aspirational.
# "dev.luke-else.co.uk" is a *website* served from prod (a dev-tagged build of
# luke-else.co.uk), not the dev server - don't confuse the two.
dns_records = [
{ zone = "luke-else.co.uk", name = "@", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "dev", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "metarius", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "traefik", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "status", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "bitwarden", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "rd", value = module.prod.ipv4 },
{ zone = "luke-else.co.uk", name = "git", value = module.dev.ipv4 },
{ zone = "luke-else.co.uk", name = "traefik.cicd", value = module.dev.ipv4 },
{ zone = "luke-else.co.uk", name = "vpn", value = module.vpn.ipv4 },
{ zone = "luke-else.co.uk", name = "traefik.vpn", value = module.vpn.ipv4 },
{ zone = "divine-couture.co.uk", name = "www", value = module.prod.ipv4 },
{ zone = "snexo.co.uk", name = "@", value = module.prod.ipv4 },
]
}
module "network" {
@@ -77,3 +97,10 @@ module "vpn" {
bootstrap_script = local.bootstrap_script
ssh_private_key_path = var.ssh_private_key_path
}
module "dns" {
source = "./modules/dns"
zone_names = var.dns_zones
records = local.dns_records
}