diff --git a/cf-dork.dev-records.tf b/cf-dork.dev-records.tf deleted file mode 100644 index 629eb3cc..00000000 --- a/cf-dork.dev-records.tf +++ /dev/null @@ -1,77 +0,0 @@ -resource "cloudflare_record" "terraform_managed_resource_be014cdcf644d74baaa31a75515e48e1" { - name = "dork.dev" - priority = 1 - proxied = false - ttl = 3600 - type = "MX" - value = "aspmx.l.google.com" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_11e7954d90a54554505d70927b438377" { - name = "dork.dev" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt3.aspmx.l.google.com" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_3a795ae0bb3e81e2f7fe3327e19ce55b" { - name = "dork.dev" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt2.aspmx.l.google.com" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_b3c56b9d9b184bd0c875f419ee25dd52" { - name = "dork.dev" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt1.aspmx.l.google.com" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_28a4d78a49b59ae2471c888f13cec013" { - name = "dork.dev" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt4.aspmx.l.google.com" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_c344b0387d935ffc9ed65c27d03ff970" { - name = "dork.dev" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=spf1 include:_spf.google.com -all" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_f8299041068f945fc8a780f6a151588f" { - name = "dork.dev" - proxied = false - ttl = 3600 - type = "TXT" - value = "google-site-verification=EmWW9eKOr4b4e624hTL-bvzJseiARrvQqLhKGn7vAek" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - -resource "cloudflare_record" "terraform_managed_resource_7e0f915b0085c329c8d0c0829e3b210f" { - name = "google._domainkey" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAziwoHJbM1rmeUiIXOgg0cujTL5BFW9PQOksUhKza1XpDP2rpzTlQr21NFYMJMc08xiE3AbvScMTX0jX3gc7+XoIYLD1VigRRvkyTubVfRmatqj+Pk41Fle1jWXHv5vNIYjjcsUTrpnrXYKoYrz34TtsmYHnu0G9MgmmcQGmbRU+WY+1R/ukhavlgXasfEW6r4tjLgVxQnser1Zjr80AUcu23od/+o+m6C9rDGMMnv6NIc2DOT7Ei6o60458f2Iwcpg38te22dy46A8AeGynbpB9+jF33Se0m22eKk5qZN5mfju/wxWMsl7ifCY/eqLZXRxJaEd5bMI8px5KvZp1TWwIDAQAB" - zone_id = "ef175eefc568696fb70bb591cbf0f7de" -} - diff --git a/cf-gensokyo.zone-records.tf b/cf-gensokyo.zone-records.tf deleted file mode 100644 index 7f476af1..00000000 --- a/cf-gensokyo.zone-records.tf +++ /dev/null @@ -1,54 +0,0 @@ -resource "cloudflare_record" "terraform_managed_resource_ff749881351460f7b8033925a981c71b" { - name = "gensokyo.zone" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_de3e257652bf06bd53370e8f94ed953a" { - name = "home" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_f82bd333e5b66b679da66366b49556ce" { - name = "id" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_28db45adacd9a72d6886e54c186507ad" { - name = "login" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_5b75677ad04ec46e785f01e3ab7734d6" { - name = "warez" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - -resource "cloudflare_record" "terraform_managed_resource_c8069088a8868436e9ac08ed575465b9" { - name = "z2m" - proxied = true - ttl = 1 - type = "CNAME" - value = "a3ae32ce-fe82-4f2c-ad54-3adf4a45fcbc.cfargotunnel.com" - zone_id = "84e33c7736e439f633867310dbf7d672" -} - diff --git a/cf-gensokyo.zone-tunnel.tf b/cf-gensokyo.zone-tunnel.tf new file mode 100644 index 00000000..717031da --- /dev/null +++ b/cf-gensokyo.zone-tunnel.tf @@ -0,0 +1,64 @@ +variable "cloudflare_apartment_tunnel" { + sensitive = true +} + +resource "cloudflare_tunnel" "gensokyo_apartment_tunnel" { + account_id = local.account_id + name = "Apartment" + secret = var.cloudflare_apartment_tunnel +} + +resource "cloudflare_record" "gensokyo_root" { + name = local.zones.gensokyo + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + +resource "cloudflare_record" "gensokyo_home" { + name = "home" + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + +resource "cloudflare_record" "gensokyo_id" { + name = "id" + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + +resource "cloudflare_record" "gensokyo_login" { + name = "login" + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + +resource "cloudflare_record" "gensokyo_warez" { + name = "warez" + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + +resource "cloudflare_record" "gensokyo_z2m" { + name = "z2m" + proxied = true + ttl = 1 + type = "CNAME" + value = cloudflare_tunnel.gensokyo_apartment_tunnel.cname + zone_id = local.zone_ids.gensokyo +} + diff --git a/cf-inskip-pages.tf b/cf-inskip.me-pages.tf similarity index 65% rename from cf-inskip-pages.tf rename to cf-inskip.me-pages.tf index 6b6362f7..3e735028 100644 --- a/cf-inskip-pages.tf +++ b/cf-inskip.me-pages.tf @@ -1,5 +1,5 @@ resource "cloudflare_pages_project" "inskip_root" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" + account_id = local.account_id name = "inskip-root" production_branch = "main" @@ -28,7 +28,16 @@ resource "cloudflare_pages_project" "inskip_root" { } resource "cloudflare_pages_domain" "inskip_root" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" + account_id = local.account_id project_name = "inskip-root" - domain = "inskip.me" + domain = local.zones.inskip +} + +resource "cloudflare_record" "inskip_root_pages" { + name = local.zones.inskip + proxied = false + ttl = 3600 + type = "CNAME" + value = "${cloudflare_pages_project.inskip_root.name}.pages.dev" + zone_id = local.zone_ids.inskip } \ No newline at end of file diff --git a/cf-inskip.me-records.tf b/cf-inskip.me-records.tf deleted file mode 100644 index 01697209..00000000 --- a/cf-inskip.me-records.tf +++ /dev/null @@ -1,125 +0,0 @@ -resource "cloudflare_record" "terraform_managed_resource_328ec45cd6cfa9fb4d32c4dfe7b3d5e2" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "iodef" - value = "mailto:acme@inskip.me" - } -} - -resource "cloudflare_record" "terraform_managed_resource_d1cfb156d1cccd583dedf9571ec20c8d" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "issue" - value = "letsencrypt.org" - } -} - -resource "cloudflare_record" "terraform_managed_resource_9f1178aab1a0c152b0870a9bc10cae6b" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CAA" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" - data { - flags = 0 - tag = "issuewild" - value = ";" - } -} - -resource "cloudflare_record" "terraform_managed_resource_e3d130cd7057def47a2365656bdb952e" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "CNAME" - value = "inskip-root.pages.dev" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_2490d32a4fb7400c07503d24675955cb" { - name = "inskip.me" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt3.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_9f87bf476adbe001d227c32693e08ba1" { - name = "inskip.me" - priority = 1 - proxied = false - ttl = 3600 - type = "MX" - value = "aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_ec7ec3c413def145dafc6530f630f647" { - name = "inskip.me" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt4.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_80559b7ee777c1e94aa4be4c3c18e6c2" { - name = "inskip.me" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt1.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_80b48ce49c59ee6380fa4eb2ccc9fa8a" { - name = "inskip.me" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt2.aspmx.l.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_f9a42e77eeb06fb20c0fcb01e2608601" { - name = "inskip.me" - priority = 15 - proxied = false - ttl = 3600 - type = "MX" - value = "6uyykkzhqi4zgogxiicbuamoqrxajwo5werga4byh77b2iyx3wma.mx-verification.google.com" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_cf503ffe8c92e5195315b8b7d0028903" { - name = "google._domainkey" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkxag/EmXQ89XQmLrBDPpPtZ7EtEJT0hgvWf/+AFiOfBOm902tq9NbTTvRJ2dLeBLPaV+hNvq2Alc7UfkKUDlLTWQjeuiC6aOnRKQQg3LZ2W25U3AlIj0jd2IPiUhg9JGV4c66XiqQ5ylTBniShfUUyeAXxbPhYFBCkBg62LZcO/tFpFsdKWtZzLjgac5vTJID+M4F8duHpkA/ZCNNUEmtt7RNQB/LLI1Gr5yR4GdQl9z7NmwtOTo9pghbZuvljr8phYjdDrwZeFTMKQnvR1l2Eh/dZ8I0C4nP5Bk4QEfmLq666P1HzOxwT6iCU6Tc+P/pkWbrx0HJh39E1aKGyLJMQIDAQAB" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} - -resource "cloudflare_record" "terraform_managed_resource_f5b4da4e6ffacca4bf188f861543f1d2" { - name = "inskip.me" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=spf1 include:_spf.google.com -all" - zone_id = "635716e7dd314fd5ec52f9434bd4527d" -} \ No newline at end of file diff --git a/cf-kittywit.ch-bluesky.tf b/cf-kittywit.ch-bluesky.tf new file mode 100644 index 00000000..0ede82c9 --- /dev/null +++ b/cf-kittywit.ch-bluesky.tf @@ -0,0 +1,8 @@ +resource "cloudflare_record" "bluesky_did" { + name = "_atproto" + proxied = false + ttl = 1 + type = "TXT" + value = "did=did:plc:4rkjqsakfq3chmepfcd3al6e" + zone_id = local.zone_ids.kittywitch +} \ No newline at end of file diff --git a/cf-kittywitch-pages.tf b/cf-kittywit.ch-pages.tf similarity index 73% rename from cf-kittywitch-pages.tf rename to cf-kittywit.ch-pages.tf index 109a6f2c..58c78916 100644 --- a/cf-kittywitch-pages.tf +++ b/cf-kittywit.ch-pages.tf @@ -1,5 +1,5 @@ resource "cloudflare_pages_project" "kittywitch" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" + account_id = local.account_id name = "kittywitch" production_branch = "main" @@ -24,16 +24,16 @@ resource "cloudflare_pages_project" "kittywitch" { } resource "cloudflare_pages_domain" "kittywitch_root" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" + account_id = local.account_id project_name = "kittywitch" - domain = "kittywit.ch" + domain = local.zones.kittywitch } resource "cloudflare_record" "kittywitch_root_pages" { - name = "kittywit.ch" + name = local.zones.kittywitch proxied = false ttl = 3600 type = "CNAME" - value = "kittywitch.pages.dev" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" + value = "${cloudflare_pages_project.kittywitch.name}.pages.dev" + zone_id = local.zone_ids.kittywitch } \ No newline at end of file diff --git a/cf-kittywit.ch-records.tf b/cf-kittywit.ch-records.tf deleted file mode 100644 index b5d9cb63..00000000 --- a/cf-kittywit.ch-records.tf +++ /dev/null @@ -1,158 +0,0 @@ -resource "cloudflare_record" "terraform_managed_resource_81084240cdb26c251ea645dc4750f336" { - name = "daiyousei" - proxied = false - ttl = 3600 - type = "A" - value = "132.145.26.5" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_a98f9a4f1d37552e77144fbb8d649c48" { - name = "marisa" - proxied = false - ttl = 3600 - type = "A" - value = "104.244.72.5" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_fbb99ac0153533f40ae55ed2c6a645d4" { - name = "daiyousei" - proxied = false - ttl = 3600 - type = "AAAA" - value = "2603:c020:c004:6f00::6" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_4d1ed3a6dd2bce46616cbc55356fa2e7" { - name = "marisa" - proxied = false - ttl = 3600 - type = "AAAA" - value = "2605:6400:30:eed1:6cf7:bbfc:b4e:15c0" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_f321912fb8af212f7e5576c1e1553456" { - name = "auth" - proxied = false - ttl = 3600 - type = "CNAME" - value = "daiyousei.kittywit.ch" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_89158423a9c03fc7ff6fecd8cbb04e4d" { - name = "files" - proxied = false - ttl = 3600 - type = "CNAME" - value = "daiyousei.kittywit.ch" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_1125359cc05a16a0950fd259de437c86" { - name = "irc" - proxied = false - ttl = 3600 - type = "CNAME" - value = "daiyousei.kittywit.ch" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_95d39eb707041e694c6b7f03cbae6b11" { - name = "vault" - proxied = false - ttl = 3600 - type = "CNAME" - value = "yukari.gensokyo.zone" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_f9c5cd6756f6f95edeece5ea0fa6e9d3" { - name = "znc" - proxied = false - ttl = 3600 - type = "CNAME" - value = "daiyousei.kittywit.ch" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_7d001e7fbe6114cb801b95e3f9ae3d4a" { - name = "kittywit.ch" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt2.aspmx.l.google.com" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_5b9ed0221972375abcccc03607c6c1c9" { - name = "kittywit.ch" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt3.aspmx.l.google.com" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_272d367473f25350a7ad968036bdbbea" { - name = "kittywit.ch" - priority = 1 - proxied = false - ttl = 3600 - type = "MX" - value = "aspmx.l.google.com" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_bf71e5b8e9b45e96009c938b32726c43" { - name = "kittywit.ch" - priority = 10 - proxied = false - ttl = 3600 - type = "MX" - value = "alt4.aspmx.l.google.com" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_cbb0021fd35fa0c5e5e2246a42b2eb3b" { - name = "kittywit.ch" - priority = 5 - proxied = false - ttl = 3600 - type = "MX" - value = "alt1.aspmx.l.google.com" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_046314ee49d8507b408ed278b2037c77" { - name = "_atproto" - proxied = false - ttl = 1 - type = "TXT" - value = "did=did:plc:4rkjqsakfq3chmepfcd3al6e" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_d891520f86c4be0bf1c5787915ff5456" { - name = "kittywit.ch" - proxied = false - ttl = 3600 - type = "TXT" - value = "v=spf1 include:_spf.google.com -all" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - -resource "cloudflare_record" "terraform_managed_resource_908b522e823e83779b423b6b95cc17fa" { - name = "kittywit.ch" - proxied = false - ttl = 3600 - type = "TXT" - value = "google-site-verification=aeWWfadYbcHt_XTD8aM-MpX0VIDDt0AZIba4QDNhs0k" - zone_id = "7e44e5503a0bba73d2025d0a9679205e" -} - diff --git a/cf-kittywit.ch-vault.tf b/cf-kittywit.ch-vault.tf new file mode 100644 index 00000000..e955b752 --- /dev/null +++ b/cf-kittywit.ch-vault.tf @@ -0,0 +1,8 @@ +resource "cloudflare_record" "vaultwarden" { + name = "vault" + proxied = false + ttl = 3600 + type = "CNAME" + value = "yukari.gensokyo.zone" + zone_id = local.zone_ids.kittywitch +} \ No newline at end of file diff --git a/cf-zones.tf b/cf-zones.tf index fe892b90..507b75fc 100644 --- a/cf-zones.tf +++ b/cf-zones.tf @@ -1,31 +1,46 @@ -resource "cloudflare_zone" "terraform_managed_resource_ef175eefc568696fb70bb591cbf0f7de" { +locals { account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" + zones = { + dork = "dork.dev" + gensokyo = "gensokyo.zone" + inskip = "inskip.me" + kittywitch = "kittywit.ch" + } + zone_ids = { + dork = cloudflare_zone.dork_zone.id + gensokyo = cloudflare_zone.gensokyo_zone.id + inskip = cloudflare_zone.inskip_zone.id + kittywitch = cloudflare_zone.dork_zone.id + } +} +resource "cloudflare_zone" "dork_zone" { + account_id = local.account_id paused = false plan = "free" type = "full" - zone = "dork.dev" + zone = local.zones.dork } -resource "cloudflare_zone" "terraform_managed_resource_84e33c7736e439f633867310dbf7d672" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" +resource "cloudflare_zone" "gensokyo_zone" { + account_id = local.account_id paused = false plan = "free" type = "full" - zone = "gensokyo.zone" + zone = local.zones.gensokyo } -resource "cloudflare_zone" "terraform_managed_resource_635716e7dd314fd5ec52f9434bd4527d" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" +resource "cloudflare_zone" "inskip_zone" { + account_id = local.account_id paused = false plan = "free" type = "full" - zone = "inskip.me" + zone = local.zones.inskip } -resource "cloudflare_zone" "terraform_managed_resource_7e44e5503a0bba73d2025d0a9679205e" { - account_id = "0467b993b65d8fd4a53fe24ed2fbb2a1" +resource "cloudflare_zone" "kittywitch_zone" { + account_id = local.account_id paused = false plan = "free" type = "full" - zone = "kittywit.ch" + zone = local.zones.kittywitch } diff --git a/gmail-dns/cf-provider.tf b/gmail-dns/cf-provider.tf new file mode 100644 index 00000000..0358053e --- /dev/null +++ b/gmail-dns/cf-provider.tf @@ -0,0 +1,12 @@ +terraform { + required_providers { + cloudflare = { + source = "cloudflare/cloudflare" + version = "4.4.0" + } + } +} + +provider "cloudflare" { + api_token = var.cloudflare_token +} diff --git a/gmail-dns/main.tf b/gmail-dns/main.tf new file mode 100644 index 00000000..f9036bfa --- /dev/null +++ b/gmail-dns/main.tf @@ -0,0 +1,66 @@ +resource "cloudflare_record" "inskip_gmail_mx_1_aspmx" { + name = var.zone_name + priority = 1 + proxied = false + ttl = 3600 + type = "MX" + value = "aspmx.l.google.com" + zone_id = var.zone_id +} + +resource "cloudflare_record" "inskip_gmail_mx_5_alt1" { + name = var.zone_name + priority = 5 + proxied = false + ttl = 3600 + type = "MX" + value = "alt1.aspmx.l.google.com" + zone_id = var.zone_id +} + +resource "cloudflare_record" "inskip_gmail_mx_5_alt2" { + name = var.zone_name + priority = 5 + proxied = false + ttl = 3600 + type = "MX" + value = "alt2.aspmx.l.google.com" + zone_id = var.zone_id +} + +resource "cloudflare_record" "gmail_mx_10_alt3" { + name = var.zone_name + priority = 10 + proxied = false + ttl = 3600 + type = "MX" + value = "alt3.aspmx.l.google.com" + zone_id = var.zone_id +} +resource "cloudflare_record" "gmail_mx_10_alt4" { + name = var.zone_name + priority = 10 + proxied = false + ttl = 3600 + type = "MX" + value = "alt4.aspmx.l.google.com" + zone_id = var.zone_id +} + +resource "cloudflare_record" "gmail_gmail_dkim" { + name = "google._domainkey" + proxied = false + ttl = 3600 + type = "TXT" + value = var.dkim + zone_id = var.zone_id +} + +resource "cloudflare_record" "gmail_gmail_spf" { + name = var.zone_name + proxied = false + ttl = 3600 + type = "TXT" + value = "v=spf1 include:_spf.google.com -all" + zone_id = var.zone_id +} \ No newline at end of file diff --git a/gmail-dns/variables.tf b/gmail-dns/variables.tf new file mode 100644 index 00000000..a3b5ab0c --- /dev/null +++ b/gmail-dns/variables.tf @@ -0,0 +1,14 @@ +variable "cloudflare_token" { + sensitive = true +} +variable "zone_id" { + type = string +} + +variable "dkim" { + type = string +} + +variable "zone_name" { + type = string +} \ No newline at end of file diff --git a/gmail.tf b/gmail.tf new file mode 100644 index 00000000..83be239d --- /dev/null +++ b/gmail.tf @@ -0,0 +1,29 @@ +locals { + dkims = { + inskip = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkxag/EmXQ89XQmLrBDPpPtZ7EtEJT0hgvWf/+AFiOfBOm902tq9NbTTvRJ2dLeBLPaV+hNvq2Alc7UfkKUDlLTWQjeuiC6aOnRKQQg3LZ2W25U3AlIj0jd2IPiUhg9JGV4c66XiqQ5ylTBniShfUUyeAXxbPhYFBCkBg62LZcO/tFpFsdKWtZzLjgac5vTJID+M4F8duHpkA/ZCNNUEmtt7RNQB/LLI1Gr5yR4GdQl9z7NmwtOTo9pghbZuvljr8phYjdDrwZeFTMKQnvR1l2Eh/dZ8I0C4nP5Bk4QEfmLq666P1HzOxwT6iCU6Tc+P/pkWbrx0HJh39E1aKGyLJMQIDAQAB" + dork = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAziwoHJbM1rmeUiIXOgg0cujTL5BFW9PQOksUhKza1XpDP2rpzTlQr21NFYMJMc08xiE3AbvScMTX0jX3gc7+XoIYLD1VigRRvkyTubVfRmatqj+Pk41Fle1jWXHv5vNIYjjcsUTrpnrXYKoYrz34TtsmYHnu0G9MgmmcQGmbRU+WY+1R/ukhavlgXasfEW6r4tjLgVxQnser1Zjr80AUcu23od/+o+m6C9rDGMMnv6NIc2DOT7Ei6o60458f2Iwcpg38te22dy46A8AeGynbpB9+jF33Se0m22eKk5qZN5mfju/wxWMsl7ifCY/eqLZXRxJaEd5bMI8px5KvZp1TWwIDAQAB" + kittywitch = "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApdmyA2+/si8UV3bodFZhtv5y68QnYr/kk9wnDHnk3JfJKusbrctXfETVu/9GXQ/U8tRquesF7aXKYHM/K3O6H58gAgIFm8JVnr9EUFh5PWBTKJxHgDo/6pprhpdAJg8k4f4p5yvqE0nUI6TC0UpN+ZmQMimgxvGGwQ6mpl7qmc7JxmTOiJbO1yz6eokU27S0NHfpdiE3TGG93i2r/LwAnHuhT/4weGO+vcXwKRTFGFFjvMo0XgjL2JnP01nk6dpDFwkkt5I26J4DkuNMkLefgDiGOoxDmG5EgPu0YwAm7Vk2/kX0W6rLe16lHGDkB0/atQ/IB9uch31GQrLP9etmdwIDAQAB" + } +} + +module "inskip-gmail" { + source = "./gmail-dns" + cloudflare_token = var.cloudflare_token + zone_id = local.zone_ids.inskip + zone_name = local.zones.inskip + dkim = local.dkims.inskip +} +module "dork-gmail" { + source = "./gmail-dns" + cloudflare_token = var.cloudflare_token + zone_id = local.zone_ids.dork + zone_name = local.zones.dork + dkim = local.dkims.dork +} +module "kittywitch-gmail" { + source = "./gmail-dns" + cloudflare_token = var.cloudflare_token + zone_id = local.zone_ids.kittywitch + zone_name = local.zones.kittywitch + dkim = local.dkims.kittywitch +} \ No newline at end of file diff --git a/tailscale-dns-interface.tf b/tailscale-dns-interface.tf index 00042993..952f8f21 100644 --- a/tailscale-dns-interface.tf +++ b/tailscale-dns-interface.tf @@ -6,21 +6,21 @@ locals { } resource "cloudflare_record" "tailscale_device_v4_record" { - for_each = { for device_name, device in local.tailscale_devices : device_name => device.addresses[0] if device.user == "kat@inskip.me" } + for_each = { for device_name, device in local.tailscale_devices : device.name => device.addresses[0] if device.user == "kat@inskip.me" } name = each.key proxied = false ttl = 3600 type = "A" value = each.value - zone_id = "635716e7dd314fd5ec52f9434bd4527d" + zone_id = local.zone_ids.inskip } resource "cloudflare_record" "tailscale_device_v6_record" { - for_each = { for device_name, device in local.tailscale_devices : device_name => device.addresses[1] if device.user == "kat@inskip.me" } + for_each = { for device_name, device in local.tailscale_devices : device.name => device.addresses[1] if device.user == "kat@inskip.me" } name = each.key proxied = false ttl = 3600 type = "AAAA" value = each.value - zone_id = "635716e7dd314fd5ec52f9434bd4527d" + zone_id = local.zone_ids.inskip } \ No newline at end of file diff --git a/yukari-cf.tf b/yukari-cf.tf index 976fb6c4..73eb80b2 100644 --- a/yukari-cf.tf +++ b/yukari-cf.tf @@ -4,7 +4,7 @@ resource "cloudflare_record" "terraform_managed_resource_4078b739fc60f37d90a2544 ttl = 3600 type = "A" value = hcloud_server.yukari.ipv4_address - zone_id = "84e33c7736e439f633867310dbf7d672" + zone_id = local.zone_ids.gensokyo } resource "cloudflare_record" "terraform_managed_resource_1206b053e895e4f6a9d1b3b4856db871" { @@ -13,5 +13,5 @@ resource "cloudflare_record" "terraform_managed_resource_1206b053e895e4f6a9d1b3b ttl = 3600 type = "AAAA" value = hcloud_server.yukari.ipv6_address - zone_id = "84e33c7736e439f633867310dbf7d672" + zone_id = local.zone_ids.gensokyo } \ No newline at end of file