WIP: Migrate DNS to Gandi #175

Draft
jake wants to merge 7 commits from gandi-dns into master
6 changed files with 281 additions and 248 deletions
Showing only changes of commit 07c53709c9 - Show all commits

View file

@ -8,7 +8,7 @@ resource "gandi_livedns_record" "orngone_apex" {
type = "ALIAS" # Gandi doesn't support CNAME-flattening type = "ALIAS" # Gandi doesn't support CNAME-flattening
ttl = 3600 ttl = 3600
values = [ values = [
cloudflare_record.sys_domain_pve.hostname gandi_livedns_record.sys_domain_pve.href
] ]
} }

View file

@ -96,10 +96,10 @@ resource "linode_firewall" "casey" {
resource "linode_rdns" "casey_reverse_ipv4" { resource "linode_rdns" "casey_reverse_ipv4" {
address = linode_instance.casey.ip_address address = linode_instance.casey.ip_address
rdns = cloudflare_record.sys_domain_casey.hostname rdns = gandi_livedns_record.sys_domain_casey.href
} }
resource "linode_rdns" "casey_reverse_ipv6" { resource "linode_rdns" "casey_reverse_ipv6" {
address = split("/", linode_instance.casey.ipv6)[0] address = split("/", linode_instance.casey.ipv6)[0]
rdns = cloudflare_record.sys_domain_casey.hostname rdns = gandi_livedns_record.sys_domain_casey.href
} }

View file

@ -130,7 +130,7 @@ resource "cloudflare_record" "jakehowardtech_dmarc" {
resource "cloudflare_record" "jakehowardtech_wallabag" { resource "cloudflare_record" "jakehowardtech_wallabag" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "wallabag" name = "wallabag"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -138,7 +138,7 @@ resource "cloudflare_record" "jakehowardtech_wallabag" {
resource "cloudflare_record" "jakehowardtech_ttrss" { resource "cloudflare_record" "jakehowardtech_ttrss" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "tt-rss" name = "tt-rss"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -146,7 +146,7 @@ resource "cloudflare_record" "jakehowardtech_ttrss" {
resource "cloudflare_record" "jakehowardtech_speed" { resource "cloudflare_record" "jakehowardtech_speed" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "speed" name = "speed"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -154,7 +154,7 @@ resource "cloudflare_record" "jakehowardtech_speed" {
resource "cloudflare_record" "jakehowardtech_quassel" { resource "cloudflare_record" "jakehowardtech_quassel" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "quassel" name = "quassel"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -162,7 +162,7 @@ resource "cloudflare_record" "jakehowardtech_quassel" {
resource "cloudflare_record" "jakehowardtech_media" { resource "cloudflare_record" "jakehowardtech_media" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "media" name = "media"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -170,7 +170,7 @@ resource "cloudflare_record" "jakehowardtech_media" {
resource "cloudflare_record" "jakehowardtech_matrix" { resource "cloudflare_record" "jakehowardtech_matrix" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "matrix" name = "matrix"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -178,7 +178,7 @@ resource "cloudflare_record" "jakehowardtech_matrix" {
resource "cloudflare_record" "jakehowardtech_intersect" { resource "cloudflare_record" "jakehowardtech_intersect" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "intersect" name = "intersect"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -186,7 +186,7 @@ resource "cloudflare_record" "jakehowardtech_intersect" {
resource "cloudflare_record" "jakehowardtech_calibre" { resource "cloudflare_record" "jakehowardtech_calibre" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "calibre" name = "calibre"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -194,7 +194,7 @@ resource "cloudflare_record" "jakehowardtech_calibre" {
resource "cloudflare_record" "jakehowardtech_homeassistant" { resource "cloudflare_record" "jakehowardtech_homeassistant" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "homeassistant" name = "homeassistant"
value = cloudflare_record.sys_domain_pve_private.hostname value = gandi_livedns_record.sys_domain_pve_private.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -202,7 +202,7 @@ resource "cloudflare_record" "jakehowardtech_homeassistant" {
resource "cloudflare_record" "jakehowardtech_grafana" { resource "cloudflare_record" "jakehowardtech_grafana" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "grafana" name = "grafana"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -210,7 +210,7 @@ resource "cloudflare_record" "jakehowardtech_grafana" {
resource "cloudflare_record" "jakehowardtech_vaultwarden" { resource "cloudflare_record" "jakehowardtech_vaultwarden" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "vaultwarden" name = "vaultwarden"
value = cloudflare_record.sys_domain_pve_private.hostname value = gandi_livedns_record.sys_domain_pve_private.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -218,7 +218,7 @@ resource "cloudflare_record" "jakehowardtech_vaultwarden" {
resource "cloudflare_record" "jakehowardtech_tandoor" { resource "cloudflare_record" "jakehowardtech_tandoor" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "recipes" name = "recipes"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -250,7 +250,7 @@ resource "cloudflare_record" "jakehowardtech_mailgun_dmarc" {
resource "cloudflare_record" "jakehowardtech_matrix_admin" { resource "cloudflare_record" "jakehowardtech_matrix_admin" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "synapse-admin" name = "synapse-admin"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -259,7 +259,7 @@ resource "cloudflare_record" "jakehowardtech_matrix_admin" {
resource "cloudflare_record" "jakehowardtech_apex" { resource "cloudflare_record" "jakehowardtech_apex" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "@" name = "@"
value = cloudflare_record.sys_domain_walker.hostname value = gandi_livedns_record.sys_domain_walker.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -267,7 +267,7 @@ resource "cloudflare_record" "jakehowardtech_apex" {
resource "cloudflare_record" "jakehowardtech_collabora" { resource "cloudflare_record" "jakehowardtech_collabora" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "collabora" name = "collabora"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -275,7 +275,7 @@ resource "cloudflare_record" "jakehowardtech_collabora" {
resource "cloudflare_record" "jakehowardtech_tasks" { resource "cloudflare_record" "jakehowardtech_tasks" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "tasks" name = "tasks"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -283,7 +283,7 @@ resource "cloudflare_record" "jakehowardtech_tasks" {
resource "cloudflare_record" "jakehowardtech_auth" { resource "cloudflare_record" "jakehowardtech_auth" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "auth" name = "auth"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -291,7 +291,7 @@ resource "cloudflare_record" "jakehowardtech_auth" {
resource "cloudflare_record" "jakehowardtech_minio" { resource "cloudflare_record" "jakehowardtech_minio" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "minio" name = "minio"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -299,7 +299,7 @@ resource "cloudflare_record" "jakehowardtech_minio" {
resource "cloudflare_record" "jakehowardtech_s3" { resource "cloudflare_record" "jakehowardtech_s3" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "s3" name = "s3"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -307,7 +307,7 @@ resource "cloudflare_record" "jakehowardtech_s3" {
resource "cloudflare_record" "jakehowardtech_ntfy" { resource "cloudflare_record" "jakehowardtech_ntfy" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "ntfy" name = "ntfy"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -315,7 +315,7 @@ resource "cloudflare_record" "jakehowardtech_ntfy" {
resource "cloudflare_record" "jakehowardtech_headscale" { resource "cloudflare_record" "jakehowardtech_headscale" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "headscale" name = "headscale"
value = cloudflare_record.sys_domain_casey.hostname value = gandi_livedns_record.sys_domain_casey.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -323,7 +323,7 @@ resource "cloudflare_record" "jakehowardtech_headscale" {
resource "cloudflare_record" "jakehowardtech_slides" { resource "cloudflare_record" "jakehowardtech_slides" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "slides" name = "slides"
value = cloudflare_record.sys_domain_walker.hostname value = gandi_livedns_record.sys_domain_walker.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }
@ -331,7 +331,7 @@ resource "cloudflare_record" "jakehowardtech_slides" {
resource "cloudflare_record" "jakehowardtech_uptime" { resource "cloudflare_record" "jakehowardtech_uptime" {
zone_id = cloudflare_zone.jakehowardtech.id zone_id = cloudflare_zone.jakehowardtech.id
name = "uptime" name = "uptime"
value = cloudflare_record.sys_domain_pve.hostname value = gandi_livedns_record.sys_domain_pve.href
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 1
} }

View file

@ -1,47 +1,59 @@
resource "cloudflare_record" "sys_domain_casey" { resource "gandi_livedns_record" "sys_domain_casey" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "casey.sys" name = "casey.sys"
value = linode_instance.casey.ip_address
type = "A" type = "A"
ttl = 1 ttl = 3600
values = [
linode_instance.casey.ip_address
]
} }
resource "cloudflare_record" "sys_domain_walker" { resource "gandi_livedns_record" "sys_domain_casey_v6" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "walker.sys"
value = hcloud_server.walker.ipv4_address
type = "A"
ttl = 1
}
resource "cloudflare_record" "sys_domain_casey_v6" {
zone_id = cloudflare_zone.theorangeonenet.id
name = "casey.sys" name = "casey.sys"
value = split("/", linode_instance.casey.ipv6)[0]
type = "AAAA" type = "AAAA"
ttl = 1 ttl = 3600
values = [
split("/", linode_instance.casey.ipv6)[0]
]
} }
resource "cloudflare_record" "sys_domain_walker_v6" { resource "gandi_livedns_record" "sys_domain_walker" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "walker.sys" name = "walker.sys"
value = hcloud_server.walker.ipv6_address type = "A"
type = "AAAA" ttl = 3600
ttl = 1 values = [
hcloud_server.walker.ipv4_address
]
} }
resource "cloudflare_record" "sys_domain_pve" { resource "gandi_livedns_record" "sys_domain_walker_v6" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "walker.sys"
type = "AAAA"
ttl = 3600
values = [
hcloud_server.walker.ipv6_address
]
}
resource "gandi_livedns_record" "sys_domain_pve" {
zone = gandi_livedns_domain.theorangeonenet.id
name = "pve.sys" name = "pve.sys"
value = linode_instance.casey.ip_address
type = "A" type = "A"
ttl = 1 ttl = 3600
values = [
linode_instance.casey.ip_address
]
} }
resource "cloudflare_record" "sys_domain_pve_private" { resource "gandi_livedns_record" "sys_domain_pve_private" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "pve-private.sys" name = "pve-private.sys"
value = local.private_ipv6_marker
type = "AAAA" type = "AAAA"
ttl = 1 ttl = 3600
values = [
local.private_ipv6_marker
]
} }

View file

@ -2,240 +2,261 @@ resource "gandi_livedns_domain" "theorangeonenet" {
name = "theorangeone.net" name = "theorangeone.net"
} }
### resource "gandi_livedns_record" "theorangeonenet_git" {
zone = gandi_livedns_domain.theorangeonenet.id
resource "cloudflare_zone" "theorangeonenet" {
zone = "theorangeone.net"
}
resource "cloudflare_record" "theorangeonenet_git" {
zone_id = cloudflare_zone.theorangeonenet.id
name = "git" name = "git"
value = cloudflare_record.sys_domain_pve.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_whoami" { resource "gandi_livedns_record" "theorangeonenet_whoami" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "whoami" name = "whoami"
value = cloudflare_record.sys_domain_pve.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_whoami_cdn" { resource "gandi_livedns_record" "theorangeonenet_whoami_cdn" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "whoami-cdn" name = "whoami-cdn"
value = cloudflare_record.sys_domain_casey.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_whoami_private" { resource "gandi_livedns_record" "theorangeonenet_whoami_private" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "whoami-private" name = "whoami-private"
value = cloudflare_record.sys_domain_pve_private.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_mx1" { resource "gandi_livedns_record" "theorangeonenet_mx" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "@" name = "@"
value = "in1-smtp.messagingengine.com"
type = "MX" type = "MX"
priority = 10 ttl = 3600
ttl = 1 values = [
"10 in1-smtp.messagingengine.com",
"20 in2-smtp.messagingengine.com",
]
} }
resource "cloudflare_record" "theorangeonenet_mx2" { resource "gandi_livedns_record" "theorangeonenet_spf" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "@" name = "@"
value = "in2-smtp.messagingengine.com"
type = "MX"
priority = 20
ttl = 1
}
resource "cloudflare_record" "theorangeonenet_spf" {
zone_id = cloudflare_zone.theorangeonenet.id
name = "@"
value = "v=spf1 include:spf.messagingengine.com -all"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"\"v=spf1 include:spf.messagingengine.com -all\""
]
} }
resource "cloudflare_record" "theorangeonenet_dkim_fm1" { resource "gandi_livedns_record" "theorangeonenet_dkim_fm1" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "fm1._domainkey" name = "fm1._domainkey"
value = "fm1.theorangeone.net.dkim.fmhosted.com"
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
"fm1.theorangeone.net.dkim.fmhosted.com"
]
} }
resource "cloudflare_record" "theorangeonenet_dkim_fm2" { resource "gandi_livedns_record" "theorangeonenet_dkim_fm2" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "fm2._domainkey" name = "fm2._domainkey"
value = "fm2.theorangeone.net.dkim.fmhosted.com"
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
"fm2.theorangeone.net.dkim.fmhosted.com"
]
} }
resource "cloudflare_record" "theorangeonenet_dkim_fm3" { resource "gandi_livedns_record" "theorangeonenet_dkim_fm3" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "fm3._domainkey" name = "fm3._domainkey"
value = "fm3.theorangeone.net.dkim.fmhosted.com"
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
"fm3.theorangeone.net.dkim.fmhosted.com"
]
} }
resource "cloudflare_record" "theorangeonenet_dmarc" { resource "gandi_livedns_record" "theorangeonenet_dmarc" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "_dmarc" name = "_dmarc"
value = "v=DMARC1; p=quarantine; ruf=mailto:dmarc-report@jakehoward.tech;"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"\"v=DMARC1; p=quarantine; ruf=mailto:dmarc-report@jakehoward.tech;\""
]
} }
resource "cloudflare_record" "theorangeonenet_dmarc_report" { resource "gandi_livedns_record" "theorangeonenet_dmarc_report" {
for_each = toset([ for_each = toset([
cloudflare_zone.theorangeonenet.zone, gandi_livedns_domain.theorangeonenet.name,
cloudflare_zone.jakehowardtech.zone, gandi_livedns_domain.jakehowardtech.name,
cloudflare_record.theorangeonenet_mailgun_spf.hostname, gandi_livedns_record.theorangeonenet_mailgun_spf.href,
cloudflare_record.jakehowardtech_mailgun_spf.hostname, cloudflare_record.jakehowardtech_mailgun_spf.hostname,
]) ])
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "${each.value}._report._dmarc" name = "${each.value}._report._dmarc"
value = "v=DMARC1"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"v=DMARC1"
]
} }
# Cloudflare supports CNAME flattening - so this is ok resource "gandi_livedns_record" "theorangeonenet_apex" {
resource "cloudflare_record" "theorangeonenet_apex" { zone = gandi_livedns_domain.theorangeonenet.id
zone_id = cloudflare_zone.theorangeonenet.id
name = "@" name = "@"
value = cloudflare_record.sys_domain_walker.hostname type = "ALIAS"
type = "CNAME" ttl = 3600
ttl = 1 values = [
gandi_livedns_record.sys_domain_walker.href
]
} }
resource "cloudflare_record" "theorangeonenet_srv_matrix" { resource "gandi_livedns_record" "theorangeonenet_srv_matrix" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "_matrix._tcp" name = "_matrix._tcp"
type = "SRV" type = "SRV"
ttl = 1 ttl = 3600
values = [
data = { "10 0 8448 ${gandi_livedns_record.theorangeonenet_matrix.href}."
service = "_matrix" ]
proto = "_tcp"
name = cloudflare_zone.theorangeonenet.zone
priority = 10
weight = 0
port = 8448
target = cloudflare_record.theorangeonenet_matrix.hostname
}
} }
resource "cloudflare_record" "theorangeonenet_matrix" { resource "gandi_livedns_record" "theorangeonenet_matrix" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "matrix" name = "matrix"
value = cloudflare_record.sys_domain_pve.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_plausible" { resource "gandi_livedns_record" "theorangeonenet_plausible" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "plausible" name = "plausible"
value = cloudflare_record.sys_domain_walker.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_walker.href
]
} }
resource "cloudflare_record" "theorangeonenet_plausible_bare" { resource "gandi_livedns_record" "theorangeonenet_plausible_bare" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "elbisualp" name = "elbisualp"
value = cloudflare_record.sys_domain_walker.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_walker.href
]
} }
resource "cloudflare_record" "theorangeonenet_notes" { resource "gandi_livedns_record" "theorangeonenet_notes" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "notes" name = "notes"
value = "realorangeone.github.io"
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
"realorangeone.github.io"
]
} }
resource "cloudflare_record" "theorangeonenet_privatebin" { resource "gandi_livedns_record" "theorangeonenet_bin" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "bin" name = "bin"
value = cloudflare_record.sys_domain_pve.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_google_site_verification" { resource "gandi_livedns_record" "theorangeonenet_google_site_verification" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "@" name = "@"
value = "google-site-verification=IXY4iSBN_vOcM3cp_f-BgVvEI_shz1GzXuY_8dqY61o"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"google-site-verification=IXY4iSBN_vOcM3cp_f-BgVvEI_shz1GzXuY_8dqY61o"
]
} }
resource "cloudflare_record" "theorangeonenet_mailgun_spf" { resource "gandi_livedns_record" "theorangeonenet_mailgun_spf" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "mg" name = "mg"
value = "v=spf1 include:mailgun.org -all"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"\"v=spf1 include:mailgun.org -all\""
]
} }
resource "cloudflare_record" "theorangeonenet_mailgun_dkim" { resource "gandi_livedns_record" "theorangeonenet_mailgun_dkim" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "mta._domainkey.mg" name = "mta._domainkey.mg"
value = "k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Z/MHEzpbWm5EgMkyWb+Xkz44Xrzr4SA5i2u8M2H5yZ1PSb4DpGk3IAX+I05UWax02+WBW3CBb5wU9rH9flgxezBoCf/hiMS1Wjb9hKGIBa2jMCzpF+wa5fyqLkLoAJZF4bc/BJKyi/ET2c7+DAA/2KlWv/nv4MEjcUR4hNGLPEC9+6PhUp8z2PnUQLzPRWHpKc1oLrnROWaX3XxdDekCzwyOw7ygzZdThVevE+0CqXVOt5SUSUCnd2tjVbvblGi6DBiQY5Tl6+xLqkQHCRqks9187+EN4FdJXkjQodkFzzyiBH5cXVGiZLOhal4koEvxGirr596qM97bIXiJWArdQIDAQAB"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"\"k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Z/MHEzpbWm5EgMkyWb+Xkz44Xrzr4SA5i2u8M2H5yZ1PSb4DpGk3IAX+I05UWax02+WBW3CBb5wU9rH9flgxezBoCf/hiMS1Wjb9hKGIBa2jMCzpF+wa5fyqLkLoAJZF4bc/BJKyi/ET2c7+DAA/2KlWv/nv4MEjcUR4hNGLPEC9+6PhUp8z2PnUQLzPRWHpKc1oLrnROWaX3XxdDekCzwyOw7ygzZdThVevE+0CqXVOt5SUSUCnd2tjVbvblGi6DBiQY5Tl6+xLqkQHCRqks9187+EN4FdJXkjQodkFzzyiBH5cXVGiZLOhal4koEvxGirr596qM97bIXiJWArdQIDAQAB\""
]
} }
resource "cloudflare_record" "theorangeonenet_mailgun_dmarc" { resource "gandi_livedns_record" "theorangeonenet_mailgun_dmarc" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "_dmarc.mg" name = "_dmarc.mg"
value = "v=DMARC1; p=quarantine; ruf=mailto:dmarc-report@jakehoward.tech;"
type = "TXT" type = "TXT"
ttl = 1 ttl = 3600
values = [
"\"v=DMARC1; p=quarantine; ruf=mailto:dmarc-report@jakehoward.tech;\""
]
} }
resource "cloudflare_record" "theorangeonenet_mastodon" { resource "gandi_livedns_record" "theorangeonenet_mastodon" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "mastodon" name = "mastodon"
value = cloudflare_record.sys_domain_pve.hostname
type = "CNAME" type = "CNAME"
ttl = 1 ttl = 3600
values = [
gandi_livedns_record.sys_domain_pve.href
]
} }
resource "cloudflare_record" "theorangeonenet_comentario" { resource "gandi_livedns_record" "theorangeonenet_comentario" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "comentario" name = "comentario"
value = cloudflare_record.sys_domain_walker.value type = "CNAME"
type = "A" ttl = 3600
ttl = 1 values = [
gandi_livedns_record.sys_domain_walker.href
]
} }
resource "cloudflare_record" "theorangeonenet_caa" { resource "gandi_livedns_record" "theorangeonenet_caa" {
zone_id = cloudflare_zone.theorangeonenet.id zone = gandi_livedns_domain.theorangeonenet.id
name = "@" name = "@"
type = "CAA" type = "CAA"
ttl = 1 ttl = 3600
values = [
data = { "0 issue \"letsencrypt.org\"",
tag = "issue" "0 wildissue \"letsencrypt.org\"",
flags = 0 ]
value = "letsencrypt.org"
}
} }

View file

@ -16,11 +16,11 @@ resource "hcloud_server" "walker" {
resource "hcloud_rdns" "walker_reverse_ipv4" { resource "hcloud_rdns" "walker_reverse_ipv4" {
server_id = hcloud_server.walker.id server_id = hcloud_server.walker.id
ip_address = hcloud_server.walker.ipv4_address ip_address = hcloud_server.walker.ipv4_address
dns_ptr = cloudflare_record.sys_domain_walker.hostname dns_ptr = gandi_livedns_record.sys_domain_walker.href
} }
resource "hcloud_rdns" "walker_reverse_ipv6" { resource "hcloud_rdns" "walker_reverse_ipv6" {
server_id = hcloud_server.walker.id server_id = hcloud_server.walker.id
ip_address = hcloud_server.walker.ipv6_address ip_address = hcloud_server.walker.ipv6_address
dns_ptr = cloudflare_record.sys_domain_walker.hostname dns_ptr = gandi_livedns_record.sys_domain_walker.href
} }