snix/ops/glesys/dns-tvl-fyi.tf
Vincent Ambo 324e050ee6 chore(ops/glesys): prepare DNS setup for whitby decomissioning
Reduces the whitby record TTLs everywhere, and sets up the scaffolding for
adding nevsky/bugry records.

This relates to b/433.

Change-Id: I31b5503fa4fcf5463c989f4cf47a3d403d34c684
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13066
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-01 19:59:42 +00:00

189 lines
4.6 KiB
HCL

# DNS configuration for tvl.fyi
resource "glesys_dnsdomain" "tvl_fyi" {
name = "tvl.fyi"
}
resource "glesys_dnsdomain_record" "tvl_fyi_NS1" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "NS"
data = "ns1.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_fyi_NS2" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "NS"
data = "ns2.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_fyi_NS3" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "NS"
data = "ns3.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_fyi_apex_A" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "A"
data = var.whitby_ipv4
}
resource "glesys_dnsdomain_record" "tvl_fyi_apex_AAAA" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "AAAA"
data = var.whitby_ipv6
}
resource "glesys_dnsdomain_record" "tvl_fyi_whitby_A" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "whitby"
type = "A"
data = var.whitby_ipv4
}
resource "glesys_dnsdomain_record" "tvl_fyi_whitby_AAAA" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "whitby"
type = "AAAA"
data = var.whitby_ipv6
}
resource "glesys_dnsdomain_record" "tvl_fyi_nevsky_A" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "nevsky"
type = "A"
data = var.nevsky_ipv4
}
resource "glesys_dnsdomain_record" "tvl_fyi_nevsky_AAAA" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "nevsky"
type = "AAAA"
data = var.nevsky_ipv6
}
resource "glesys_dnsdomain_record" "tvl_fyi_bugry_A" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "bugry"
type = "A"
data = var.bugry_ipv4
}
resource "glesys_dnsdomain_record" "tvl_fyi_bugry_AAAA" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "bugry"
type = "AAAA"
data = var.bugry_ipv6
}
# Explicit records for all services running on whitby
resource "glesys_dnsdomain_record" "tvl_fyi_whitby_services" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "whitby.tvl.fyi."
host = each.key
ttl = 60 # TODO
for_each = toset(local.whitby_services)
}
# Explicit records for all services running on nevsky
resource "glesys_dnsdomain_record" "tvl_fyi_nevsky_services" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "nevsky.tvl.fyi."
host = each.key
ttl = 600 # TODO
for_each = toset(local.nevsky_services)
}
# Explicit records for all services running on bugry
resource "glesys_dnsdomain_record" "tvl_fyi_bugry_services" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "bugry.tvl.fyi."
host = each.key
ttl = 600 # TODO
for_each = toset(local.bugry_services)
}
resource "glesys_dnsdomain_record" "tvl_fyi_net_CNAME" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "sanduny.tvl.su."
host = "net"
}
# Binary cache round-robin setup (experimental; only on .fyi)
resource "glesys_dnsdomain_record" "cache_tvl_fyi_A" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "cache"
type = "A"
data = each.key
for_each = toset([var.whitby_ipv4, var.nevsky_ipv4])
}
resource "glesys_dnsdomain_record" "cache_tvl_fyi_AAAA" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "cache"
type = "AAAA"
data = each.key
for_each = toset([var.whitby_ipv6, var.nevsky_ipv6])
}
# Builderball cache records
resource "glesys_dnsdomain_record" "tvl_fyi_cache_whitby_CNAME" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "whitby.tvl.fyi."
host = "whitby.cache"
}
resource "glesys_dnsdomain_record" "tvl_fyi_cache_nevsky_CNAME" {
domain = glesys_dnsdomain.tvl_fyi.id
type = "CNAME"
data = "nevsky.tvl.fyi."
host = "nevsky.cache"
}
# Google Domains mail forwarding configuration (no sending)
resource "glesys_dnsdomain_record" "tvl_fyi_MX_5" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "MX"
data = "5 gmr-smtp-in.l.google.com."
}
resource "glesys_dnsdomain_record" "tvl_fyi_MX_10" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "MX"
data = "10 alt1.gmr-smtp-in.l.google.com."
}
resource "glesys_dnsdomain_record" "tvl_fyi_MX_20" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "MX"
data = "20 alt2.gmr-smtp-in.l.google.com."
}
resource "glesys_dnsdomain_record" "tvl_fyi_MX_30" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "MX"
data = "30 alt3.aspmx.l.google.com."
}
resource "glesys_dnsdomain_record" "tvl_fyi_MX_40" {
domain = glesys_dnsdomain.tvl_fyi.id
host = "@"
type = "MX"
data = "40 alt4.gmr-smtp-in.l.google.com."
}