resource "linode_domain" "root" { type = "master" domain = "trygvis.io" refresh_sec = 300 retry_sec = 300 soa_email = "root@trygvis.io" status = "active" tags = [] ttl_sec = 300 } resource "linode_domain_record" "root-a" { domain_id = linode_domain.root.id name = "" record_type = "A" target = "176.58.112.84" } resource "linode_domain_record" "root-mx" { domain_id = linode_domain.root.id name = "" record_type = "MX" target = "in1-smtp.messagingengine.com" priority = 10 } resource "linode_domain_record" "root-mx2" { domain_id = linode_domain.root.id name = "" record_type = "MX" target = "in2-smtp.messagingengine.com" priority = 20 } resource "linode_domain_record" "root-txt-google" { domain_id = linode_domain.root.id name = "" record_type = "TXT" target = "google-site-verification=fuNmCULxODJMSSlfa8w0SF-DLt2oTWCAGBvSNsUEB8k" ttl_sec = 300 } resource "linode_domain_record" "root-txt-amazon-ses" { domain_id = linode_domain.root.id name = "_amazonses" record_type = "TXT" target = "c3k5WNcOHhgLn27ed1s7YBq6xB4C/OoWuyKfqyeG31E=" } resource "linode_domain_record" "root-txt-keybase" { domain_id = linode_domain.root.id name = "_keybase" record_type = "TXT" target = "keybase-site-verification=gcoO7zav4G2IK5KQdrWOgz_PD9wpZhz-0afIb1Kodrk" } resource "linode_domain_record" "root-txt-fastmail-dkim" { count = 3 domain_id = linode_domain.root.id name = format("fm%d._domainkey", count.index + 1) record_type = "CNAME" target = format("fm%d.trygvis.io.dkim.fmhosted.com", count.index + 1) } resource "linode_domain_record" "root-txt-fastmail-spf" { domain_id = linode_domain.root.id name = "" record_type = "TXT" target = "v=spf1 include:spf.messagingengine.com ?all" } resource "linode_domain_record" "root-txt-fastmail-dmark" { domain_id = linode_domain.root.id name = "_dmarc" record_type = "TXT" target = "v=DMARC1; p=none;" } resource "linode_domain_record" "root-txt-fastmail-srv" { domain_id = linode_domain.root.id record_type = "SRV" service = each.key priority = each.value.priority weight = each.value.weight port = each.value.port target = each.value.target for_each = tomap({ submission = { priority = 0, weight = 0, port = 0, target = "." }, imap = { priority = 0, weight = 0, port = 0, target = "." }, submissions = { priority = 0, weight = 1, port = 465, target = "smtp.fastmail.com" }, imaps = { priority = 0, weight = 1, port = 993, target = "imap.fastmail.com" }, jmap = { priority = 0, weight = 1, port = 443, target = "api.fastmail.com" }, autodiscover = { priority = 0, weight = 1, port = 443, target = "autodiscover.fastmail.com" }, autodiscover = { priority = 0, weight = 1, port = 443, target = "autodiscover.fastmail.com" }, carddav = { priority = 0, weight = 0, port = 0, target = "." }, carddavs = { priority = 0, weight = 1, port = 443, target = "carddav.fastmail.com" }, caldav = { priority = 0, weight = 0, port = 0, target = "." }, caldavs = { priority = 0, weight = 1, port = 443, target = "caldav.fastmail.com" }, }) } resource "linode_domain_record" "root-cname-ses-1" { domain_id = linode_domain.root.id name = "k5o5gjadej2kkfncu36i3ef5gt473sxy._domainkey" record_type = "CNAME" target = "k5o5gjadej2kkfncu36i3ef5gt473sxy.dkim.amazonses.com" } resource "linode_domain_record" "root-cname-ses-2" { domain_id = linode_domain.root.id name = "imtuzw2lnfktlc7uongw433qbwjxxatg._domainkey" record_type = "CNAME" target = "imtuzw2lnfktlc7uongw433qbwjxxatg.dkim.amazonses.com" } resource "linode_domain_record" "hash" { domain_id = linode_domain.root.id name = "hash" record_type = "A" target = "138.201.33.16" } resource "linode_domain_record" "hash-aaaa" { domain_id = linode_domain.root.id name = "hash" record_type = "AAAA" target = "2a01:4f8:171:34ad::2" } resource "linode_domain_record" "numquam" { domain_id = linode_domain.root.id name = "numquam" record_type = "A" target = "163.172.160.56" } resource "linode_domain_record" "lon1_dn42" { domain_id = linode_domain.root.id name = "lon1.dn42" record_type = "CNAME" target = "knot.inamo.no" } # Aliases for trygvis.io resource "linode_domain_record" "mw" { domain_id = linode_domain.root.id name = "mw" record_type = "CNAME" target = "trygvis.io" } resource "linode_domain_record" "unifi" { domain_id = linode_domain.root.id name = "unifi" record_type = "CNAME" target = "trygvis.io" } # Aliases for vs.trygvis.io resource "linode_domain_record" "nextcloud" { domain_id = linode_domain.root.id name = "nextcloud" record_type = "CNAME" target = "vs.trygvis.io" } resource "linode_domain_record" "grafana" { domain_id = linode_domain.root.id name = "grafana" record_type = "CNAME" target = "hash.trygvis.io" } resource "linode_domain_record" "owncloud" { domain_id = linode_domain.root.id name = "owncloud" record_type = "CNAME" target = "vs.trygvis.io" }