snix/ops/glesys/dns-tvl-su.tf
Vincent Ambo c948a26d7d feat(ops/modules): configure builderball cache setup
Configures an experimental setup for a builderball-based public cache.

This cache only includes the two build machines (whitby & nevsky), for the time
period where both of them exist simultaneously.

The idea is this:

All participating hosts run a harmonia binary cache locally (whitby already
does). They then run builderball instances pointing at each other's harmonia
caches (through dedicated public hostnames).

When a request comes in, the first matching cache address is returned and Nix
will substitute from there.

Change-Id: Ia7d5357fd5e04f77b460205544fa24e82b100230
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12975
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-01-14 17:51:21 +00:00

144 lines
3.6 KiB
HCL

# DNS configuration for tvl.su
resource "glesys_dnsdomain" "tvl_su" {
name = "tvl.su"
}
resource "glesys_dnsdomain_record" "tvl_su_NS1" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "NS"
data = "ns1.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_su_NS2" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "NS"
data = "ns2.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_su_NS3" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "NS"
data = "ns3.namesystem.se."
}
resource "glesys_dnsdomain_record" "tvl_su_apex_A" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "A"
data = var.whitby_ipv4
}
resource "glesys_dnsdomain_record" "tvl_su_apex_AAAA" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "AAAA"
data = var.whitby_ipv6
}
resource "glesys_dnsdomain_record" "tvl_su_whitby_A" {
domain = glesys_dnsdomain.tvl_su.id
host = "whitby"
type = "A"
data = var.whitby_ipv4
}
resource "glesys_dnsdomain_record" "tvl_su_whitby_AAAA" {
domain = glesys_dnsdomain.tvl_su.id
host = "whitby"
type = "AAAA"
data = var.whitby_ipv6
}
resource "glesys_dnsdomain_record" "tvl_su_sanduny_A" {
domain = glesys_dnsdomain.tvl_su.id
host = "sanduny"
type = "A"
data = var.sanduny_ipv4
}
resource "glesys_dnsdomain_record" "tvl_su_sanduny_AAAA" {
domain = glesys_dnsdomain.tvl_su.id
host = "sanduny"
type = "AAAA"
data = var.sanduny_ipv6
}
resource "glesys_dnsdomain_record" "cache_tvl_su_whitby_CNAME" {
domain = glesys_dnsdomain.tvl_su.id
host = "cache"
type = "CNAME"
data = "whitby.tvl.su."
}
# Explicit records for all services running on whitby
resource "glesys_dnsdomain_record" "tvl_su_whitby_services" {
domain = glesys_dnsdomain.tvl_su.id
type = "CNAME"
data = "whitby.tvl.su."
host = each.key
for_each = toset(local.whitby_services)
}
# historical tvixbolt.tvl.su record, redirects to bolt.tvix.dev
resource "glesys_dnsdomain_record" "tvix_su_tvixbolt_CNAME" {
domain = glesys_dnsdomain.tvl_su.id
host = "tvixbolt"
type = "CNAME"
data = "whitby.tvl.su."
}
resource "glesys_dnsdomain_record" "tvl_su_inbox_CNAME" {
domain = glesys_dnsdomain.tvl_su.id
type = "CNAME"
data = "sanduny.tvl.su."
host = "inbox.tvl.su."
}
resource "glesys_dnsdomain_record" "tvl_su_TXT_google_site" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "TXT"
data = "google-site-verification=3ksTBzFK3lZlzD3ddBfpaHs9qasfAiYBmvbW2T_ejH4"
}
# Yandex 360 setup
resource "glesys_dnsdomain_record" "tvl_su_TXT_yandex" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "TXT"
data = "yandex-verification: b99c43b7838949dc"
}
resource "glesys_dnsdomain_record" "tvl_su_MX_yandex" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "MX"
data = "10 mx.yandex.net."
}
resource "glesys_dnsdomain_record" "tvl_su_TXT_yandex_spf" {
domain = glesys_dnsdomain.tvl_su.id
host = "@"
type = "TXT"
data = "v=spf1 redirect=_spf.yandex.net"
}
resource "glesys_dnsdomain_record" "tvl_su_TXT_yandex_dkim" {
domain = glesys_dnsdomain.tvl_su.id
host = "mail._domainkey"
type = "TXT"
data = "v=DKIM1; k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaRdWF8BtCHlTTQN8O+E5Qn27FVIpUEAdk1uq2vdIKh1Un/3NfdWtxStcS1Mf0iEprt1Fb4zgWOkDlPi+hH/UZqiC9QNeNqEBGMB9kgJyfsUt6cDCIVGvn8PT9JcZW1jxSziOj8nUWB4noqbaVcQNqNbwtaHPm3aifwKwScxVO7wIDAQAB"
}
resource "glesys_dnsdomain_record" "tvl_su_CNAME_yandex_mail" {
domain = glesys_dnsdomain.tvl_su.id
host = "mail"
type = "CNAME"
data = "domain.mail.yandex.net."
}