diff --git a/tofu/.terraform.lock.hcl b/tofu/.terraform.lock.hcl index 15d9440..6db250f 100644 --- a/tofu/.terraform.lock.hcl +++ b/tofu/.terraform.lock.hcl @@ -1,6 +1,29 @@ # This file is maintained automatically by "tofu init". # Manual edits may be lost in future updates. +provider "registry.opentofu.org/cloudflare/cloudflare" { + version = "4.52.5" + constraints = "~> 4.0" + hashes = [ + "h1:+rfzF+16ZcWZWnTyW/p1HHTzYbPKX8Zt2nIFtR/+f+E=", + "zh:1a3400cb38863b2585968d1876706bcfc67a148e1318a1d325c6c7704adc999b", + "zh:4c5062cb9e9da1676f06ae92b8370186d98976cc4c7030d3cd76df12af54282a", + "zh:52110f493b5f0587ef77a1cfd1a67001fd4c617b14c6502d732ab47352bdc2f7", + "zh:5aa536f9eaeb43823aaf2aa80e7d39b25ef2b383405ed034aa16a28b446a9238", + "zh:5cc39459a1c6be8a918f17054e4fbba573825ed5597dcada588fe99614d98a5b", + "zh:629ae6a7ba298815131da826474d199312d21cec53a4d5ded4fa56a692e6f072", + "zh:719cc7c75dc1d3eb30c22ff5102a017996d9788b948078c7e1c5b3446aeca661", + "zh:8698635a3ca04383c1e93b21d6963346bdae54d27177a48e4b1435b7f731731c", + "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", + "zh:8a9993f1dcadf1dd6ca43b23348abe374605d29945a2fafc07fb3457644e6a54", + "zh:b1b9a1e6bcc24d5863a664a411d2dc906373ae7a2399d2d65548ce7377057852", + "zh:b270184cdeec277218e84b94cb136fead753da717f9b9dc378e51907f3f00bb0", + "zh:dff2bc10071210181726ce270f954995fe42c696e61e2e8f874021fed02521e5", + "zh:e8e87b40b6a87dc097b0fdc20d3f725cec0d82abc9cc3755c1f89f8f6e8b0036", + "zh:ee964a6573d399a5dd22ce328fb38ca1207797a02248f14b2e4913ee390e7803", + ] +} + provider "registry.opentofu.org/marcfrederick/porkbun" { version = "1.3.1" constraints = "~> 1.3" diff --git a/tofu/cloudflare.tf b/tofu/cloudflare.tf new file mode 100644 index 0000000..0097c7c --- /dev/null +++ b/tofu/cloudflare.tf @@ -0,0 +1,366 @@ +locals { + cloudflare_account_id = "4d18148a82b0a91f289afbbd2944a603" + + cloudflare_zones = { + "aprs.me" = "09da59049b0ecad7b734ce3d902bf581" + "gridmap.org" = "836f24d97eb51ffc18aa10c0a98efa48" + "towerops.net" = "c275d35a8885de79ca8e61c17ac97ab6" + } + + cloudflare_records = { + # ========================================================================= + # towerops.net - A records + # ========================================================================= + "towerops.net-a-dfw-poller" = { + zone_key = "towerops.net" + type = "A" + name = "dfw.poller" + content = "144.202.64.79" + proxied = false + record_id = "aa8183b748f1bf0e3850d9dabb91ee3a" + } + "towerops.net-a-lon-poller" = { + zone_key = "towerops.net" + type = "A" + name = "lon.poller" + content = "45.77.228.168" + proxied = false + record_id = "2a25c3ee47284833cea451170d3bd61d" + } + "towerops.net-a-staging" = { + zone_key = "towerops.net" + type = "A" + name = "staging" + content = "204.110.191.231" + proxied = true + record_id = "8430e2789d5700c556dc7a598d49d8fd" + } + "towerops.net-a-www" = { + zone_key = "towerops.net" + type = "A" + name = "www" + content = "192.0.2.1" + proxied = true + comment = "Created during Cloudflare Rules deployment process for Redirect from WWW to root [Template]" + record_id = "689c47b0e5ed68427f2c3b9e25bdf602" + } + + # ========================================================================= + # towerops.net - AAAA records + # ========================================================================= + "towerops.net-aaaa-dfw-poller" = { + zone_key = "towerops.net" + type = "AAAA" + name = "dfw.poller" + content = "2001:19f0:6401:af2:5400:5ff:fee7:1bfb" + proxied = false + record_id = "2edc0cf203313e67d64316daf8a0490e" + } + "towerops.net-aaaa-lon-poller" = { + zone_key = "towerops.net" + type = "AAAA" + name = "lon.poller" + content = "2001:19f0:7400:1195:5400:5ff:feee:a0c3" + proxied = false + record_id = "610f21b8597a1ce6ad4020f15311787a" + } + + # ========================================================================= + # towerops.net - CNAME records + # ========================================================================= + "towerops.net-cname-root" = { + zone_key = "towerops.net" + type = "CNAME" + name = "towerops.net" + content = "d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com" + proxied = true + record_id = "cf1bc4e745466032786db854f4294f99" + } + "towerops.net-cname-dev" = { + zone_key = "towerops.net" + type = "CNAME" + name = "dev" + content = "db59aa44-79de-4522-9593-43e828f3215a.cfargotunnel.com" + proxied = true + record_id = "21b470e19493c856ce697052dabc90e5" + } + "towerops.net-cname-autoconfig" = { + zone_key = "towerops.net" + type = "CNAME" + name = "autoconfig" + content = "mail.mcintire.me" + proxied = false + record_id = "1c0f59e7bd583f8971f50231e6fad3cf" + } + "towerops.net-cname-autodiscover" = { + zone_key = "towerops.net" + type = "CNAME" + name = "autodiscover" + content = "mail.mcintire.me" + proxied = false + record_id = "34a4a9bde8cf4626635cfa3cb5f8c408" + } + "towerops.net-cname-dkim-ses-1" = { + zone_key = "towerops.net" + type = "CNAME" + name = "2skkb53ep3vfbkdstfmm2elfthurggid._domainkey" + content = "2skkb53ep3vfbkdstfmm2elfthurggid.dkim.amazonses.com" + proxied = false + record_id = "f4a446531128011a1a6b896010983901" + } + "towerops.net-cname-dkim-ses-2" = { + zone_key = "towerops.net" + type = "CNAME" + name = "4uwsaywjpmk35j36pfiz4vr37dyy4v7z._domainkey" + content = "4uwsaywjpmk35j36pfiz4vr37dyy4v7z.dkim.amazonses.com" + proxied = false + record_id = "aefc5c72e25e3656dbccf0fdf2fc6f48" + } + "towerops.net-cname-dkim-ses-3" = { + zone_key = "towerops.net" + type = "CNAME" + name = "l7lbifvot6nv3wwho5rs35xzqzzinz5f._domainkey" + content = "l7lbifvot6nv3wwho5rs35xzqzzinz5f.dkim.amazonses.com" + proxied = false + record_id = "02a4cfa316dae29898a8270f2c3aceda" + } + + # ========================================================================= + # towerops.net - MX records + # ========================================================================= + "towerops.net-mx-root-primary" = { + zone_key = "towerops.net" + type = "MX" + name = "towerops.net" + content = "mail.mcintire.me" + priority = 10 + record_id = "a5dc7d6dc6d9085132a8fa0b7db1b69a" + } + "towerops.net-mx-root-backup" = { + zone_key = "towerops.net" + type = "MX" + name = "towerops.net" + content = "mail.nsnw.ca" + priority = 20 + record_id = "bbd552d191e61345f19f8dae10281f9e" + } + "towerops.net-mx-mail" = { + zone_key = "towerops.net" + type = "MX" + name = "mail" + content = "feedback-smtp.us-east-1.amazonses.com" + priority = 10 + record_id = "a2486e2bbb4d6aca978d28807893e346" + } + + # ========================================================================= + # towerops.net - TXT records + # ========================================================================= + "towerops.net-txt-spf" = { + zone_key = "towerops.net" + type = "TXT" + name = "towerops.net" + content = "v=spf1 mx a ip4:107.174.178.20 ~all" + record_id = "cf2f74d345960700a81a6025e7a89642" + } + "towerops.net-txt-dmarc" = { + zone_key = "towerops.net" + type = "TXT" + name = "_dmarc" + content = "v=DMARC1; p=none;" + record_id = "bd236f9a89fc42f45fd7f4b076478880" + } + "towerops.net-txt-dkim" = { + zone_key = "towerops.net" + type = "TXT" + name = "dkim._domainkey" + content = "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuFm6nd0L7/nAO4m0MPxdjwRAup5C90DPSPa0TQBDT8S2WvASyQUPV8xSbICGMj6FjZYNd5ph/0VK47gDulxQgNQT96IVf2ooTfkvY/80bAyEdtJbpjEUzQnX5YBi/pJigQx2EeCdaojUZumeIdlFlzeb8QQIEtQhVnyc1Xc/Z8ljPMW1H9DXLSDINjV6UTaXX+PZ7jgpRKgU+RnJNcqTAkhhKQ4bMcRfOam/lF6wPOWte1A7ir08TdE8O67ioqygkr/ivAp7xvV4vGOkY6buLLE+c3exY+my2qTCZgJyUMAhkZzYqzGo1csfHH8x+O2XN/k8Z5jPhq8LSvl9XkllKwIDAQAB" + record_id = "3872e537e8cee4087ead7eb5785e1426" + } + "towerops.net-txt-mail-spf" = { + zone_key = "towerops.net" + type = "TXT" + name = "mail" + content = "v=spf1 include:amazonses.com ~all" + record_id = "76b8314432391c6630e9e1b2edfce65d" + } + } +} + +# ============================================================================= +# Zones +# ============================================================================= + +import { + for_each = local.cloudflare_zones + to = cloudflare_zone.zones[each.key] + id = each.value +} + +resource "cloudflare_zone" "zones" { + for_each = local.cloudflare_zones + + account_id = local.cloudflare_account_id + zone = each.key +} + +# ============================================================================= +# DNS Records (A, AAAA, CNAME, MX, TXT) +# ============================================================================= + +import { + for_each = local.cloudflare_records + to = cloudflare_record.records[each.key] + id = "${local.cloudflare_zones[each.value.zone_key]}/${each.value.record_id}" +} + +resource "cloudflare_record" "records" { + for_each = local.cloudflare_records + + zone_id = cloudflare_zone.zones[each.value.zone_key].id + type = each.value.type + name = each.value.name + content = each.value.content + proxied = lookup(each.value, "proxied", false) + ttl = lookup(each.value, "ttl", 1) + priority = lookup(each.value, "priority", null) + comment = lookup(each.value, "comment", null) +} + +# ============================================================================= +# DNS Records - aprs.me tunnel CNAME +# ============================================================================= + +resource "cloudflare_record" "aprs_me_tunnel" { + zone_id = cloudflare_zone.zones["aprs.me"].id + type = "CNAME" + name = "aprs.me" + content = "d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com" + proxied = true +} + +resource "cloudflare_record" "gridmap_org_tunnel" { + zone_id = cloudflare_zone.zones["gridmap.org"].id + type = "CNAME" + name = "gridmap.org" + content = "d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com" + proxied = true +} + +# ============================================================================= +# DNS Records (SRV) - separate due to data block +# ============================================================================= + +import { + to = cloudflare_record.towerops_srv_autodiscover + id = "${local.cloudflare_zones["towerops.net"]}/26db78978535d1d630432970b9a4e279" +} + +resource "cloudflare_record" "towerops_srv_autodiscover" { + zone_id = cloudflare_zone.zones["towerops.net"].id + type = "SRV" + name = "_autodiscover._tcp" + + data { + service = "_autodiscover" + proto = "_tcp" + name = "towerops.net" + priority = 0 + weight = 0 + port = 443 + target = "mail.mcintire.me" + } +} + +# ============================================================================= +# Zone Settings +# +# cloudflare_zone_settings_override doesn't support import, so zone settings +# are not managed here. Current non-default settings on towerops.net: +# - zero_rtt: on +# - always_use_https: on +# - min_tls_version: 1.2 +# - pseudo_ipv4: add_header +# - tls_1_3: zrt (0-RTT) +# - HSTS: enabled, max_age=15552000, preload=true, nosniff=true +# ============================================================================= + +# ============================================================================= +# Firewall - towerops.net custom rules +# ============================================================================= + +import { + to = cloudflare_ruleset.towerops_firewall + id = "zone/${local.cloudflare_zones["towerops.net"]}/3c209e50f21b40388733a7cfe8f62f4e" +} + +resource "cloudflare_ruleset" "towerops_firewall" { + zone_id = cloudflare_zone.zones["towerops.net"].id + name = "default" + kind = "zone" + phase = "http_request_firewall_custom" + + rules { + action = "block" + expression = "(http.request.uri.path wildcard r\"/wp-content/*\") or (http.request.uri.path wildcard r\"/wp-admin/*\") or (http.request.uri.path wildcard r\"/*.php\")" + description = "wordpress" + enabled = true + } +} + +# ============================================================================= +# Tunnel Configs +# +# Tunnel resources themselves are not managed here because the tunnel secrets +# are not recoverable from the API. The tunnels were created via the dashboard: +# - towerops: d3d819ba-925c-4d84-8052-68ed32b686bb (healthy) +# - towerops-dev: db59aa44-79de-4522-9593-43e828f3215a (down) +# ============================================================================= + +import { + to = cloudflare_zero_trust_tunnel_cloudflared_config.towerops + id = "${local.cloudflare_account_id}/d3d819ba-925c-4d84-8052-68ed32b686bb" +} + +resource "cloudflare_zero_trust_tunnel_cloudflared_config" "towerops" { + account_id = local.cloudflare_account_id + tunnel_id = "d3d819ba-925c-4d84-8052-68ed32b686bb" + + config { + ingress_rule { + hostname = "aprs.me" + service = "http://aprs.aprs.svc.cluster.local:4000" + } + ingress_rule { + hostname = "gridmap.org" + service = "http://gridmap.gridmap.svc.cluster.local:4000" + } + ingress_rule { + hostname = "towerops.net" + service = "http://towerops.towerops.svc.cluster.local:4000" + } + ingress_rule { + service = "http_status:404" + } + } +} + +import { + to = cloudflare_zero_trust_tunnel_cloudflared_config.towerops_dev + id = "${local.cloudflare_account_id}/db59aa44-79de-4522-9593-43e828f3215a" +} + +resource "cloudflare_zero_trust_tunnel_cloudflared_config" "towerops_dev" { + account_id = local.cloudflare_account_id + tunnel_id = "db59aa44-79de-4522-9593-43e828f3215a" + + config { + ingress_rule { + hostname = "dev.towerops.net" + service = "http://localhost:4000" + } + ingress_rule { + service = "http_status:404" + } + } +} diff --git a/tofu/dns.tf b/tofu/dns.tf index 76ccca5..5676c66 100644 --- a/tofu/dns.tf +++ b/tofu/dns.tf @@ -26,8 +26,9 @@ locals { "mcintire.me" = local.as393837_ns "ntxarms.com" = local.as393837_ns "qth.social" = local.porkbun_ns - "vntx.org" = local.as393837_ns - "w5isp.com" = local.as393837_ns + # towerops.net is not opted in to Porkbun API access + "vntx.org" = local.as393837_ns + "w5isp.com" = local.as393837_ns } } diff --git a/tofu/main.tf b/tofu/main.tf index e928490..2b5d069 100644 --- a/tofu/main.tf +++ b/tofu/main.tf @@ -4,9 +4,17 @@ terraform { source = "marcfrederick/porkbun" version = "~> 1.3" } + cloudflare = { + source = "cloudflare/cloudflare" + version = "~> 4.0" + } } } provider "porkbun" { # Credentials via PORKBUN_API_KEY and PORKBUN_SECRET_API_KEY env vars } + +provider "cloudflare" { + # Credentials via CLOUDFLARE_API_TOKEN env var +} diff --git a/tofu/terraform.tfstate b/tofu/terraform.tfstate index 821aac9..d80581e 100644 --- a/tofu/terraform.tfstate +++ b/tofu/terraform.tfstate @@ -1 +1 @@ -{"version":4,"terraform_version":"1.11.5","serial":3,"lineage":"aada9e42-4c37-f0e0-91fa-f89b3caac095","outputs":{},"resources":[{"mode":"managed","type":"porkbun_nameservers","name":"domains","provider":"provider[\"registry.opentofu.org/marcfrederick/porkbun\"]","instances":[{"index_key":"aprs.me","schema_version":0,"attributes":{"domain":"aprs.me","nameservers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"]},"sensitive_attributes":[]},{"index_key":"beanjar.org","schema_version":0,"attributes":{"domain":"beanjar.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"gridmap.org","schema_version":0,"attributes":{"domain":"gridmap.org","nameservers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"]},"sensitive_attributes":[]},{"index_key":"gunincrements.com","schema_version":0,"attributes":{"domain":"gunincrements.com","nameservers":["curitiba.ns.porkbun.com","fortaleza.ns.porkbun.com","maceio.ns.porkbun.com","salvador.ns.porkbun.com"]},"sensitive_attributes":[]},{"index_key":"manero.org","schema_version":0,"attributes":{"domain":"manero.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"mcintire.me","schema_version":0,"attributes":{"domain":"mcintire.me","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"ntxarms.com","schema_version":0,"attributes":{"domain":"ntxarms.com","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"qth.social","schema_version":0,"attributes":{"domain":"qth.social","nameservers":["curitiba.ns.porkbun.com","fortaleza.ns.porkbun.com","maceio.ns.porkbun.com","salvador.ns.porkbun.com"]},"sensitive_attributes":[]},{"index_key":"vntx.org","schema_version":0,"attributes":{"domain":"vntx.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"w5isp.com","schema_version":0,"attributes":{"domain":"w5isp.com","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]}]}],"check_results":null} +{"version":4,"terraform_version":"1.11.5","serial":11,"lineage":"aada9e42-4c37-f0e0-91fa-f89b3caac095","outputs":{},"resources":[{"mode":"managed","type":"cloudflare_record","name":"aprs_me_tunnel","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com","created_on":"2026-02-18T18:34:56.202856Z","data":[],"hostname":"aprs.me","id":"52fe06c580f9bc70a4ff4a6978de8ea7","metadata":{},"modified_on":"2026-02-18T18:34:56.202856Z","name":"aprs.me","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_record","name":"gridmap_org_tunnel","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com","created_on":"2026-02-18T18:34:53.58717Z","data":[],"hostname":"gridmap.org","id":"8b218c8e8e8a78aa8c30a5e82e63dbdc","metadata":{},"modified_on":"2026-02-18T18:34:53.58717Z","name":"gridmap.org","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_record","name":"records","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"index_key":"towerops.net-a-dfw-poller","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"144.202.64.79","created_on":"2026-02-04T18:34:31.048255Z","data":[],"hostname":"dfw.poller.towerops.net","id":"aa8183b748f1bf0e3850d9dabb91ee3a","metadata":{},"modified_on":"2026-02-04T18:34:31.048255Z","name":"dfw.poller","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"A","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-a-lon-poller","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"45.77.228.168","created_on":"2026-02-08T17:23:07.876902Z","data":[],"hostname":"lon.poller.towerops.net","id":"2a25c3ee47284833cea451170d3bd61d","metadata":{},"modified_on":"2026-02-08T17:23:07.876902Z","name":"lon.poller","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"A","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-a-staging","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"204.110.191.231","created_on":"2026-02-09T18:23:25.894749Z","data":[],"hostname":"staging.towerops.net","id":"8430e2789d5700c556dc7a598d49d8fd","metadata":{},"modified_on":"2026-02-09T18:44:11.107671Z","name":"staging","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"A","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-a-www","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"Created during Cloudflare Rules deployment process for Redirect from WWW to root [Template]","content":"192.0.2.1","created_on":"2026-02-01T16:08:06.434962Z","data":[],"hostname":"www.towerops.net","id":"689c47b0e5ed68427f2c3b9e25bdf602","metadata":{},"modified_on":"2026-02-01T16:08:06.434962Z","name":"www","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"A","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-aaaa-dfw-poller","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"2001:19f0:6401:af2:5400:5ff:fee7:1bfb","created_on":"2026-02-04T18:34:31.174197Z","data":[],"hostname":"dfw.poller.towerops.net","id":"2edc0cf203313e67d64316daf8a0490e","metadata":{},"modified_on":"2026-02-04T18:34:31.174197Z","name":"dfw.poller","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"AAAA","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-aaaa-lon-poller","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"2001:19f0:7400:1195:5400:5ff:feee:a0c3","created_on":"2026-02-08T17:24:02.914425Z","data":[],"hostname":"lon.poller.towerops.net","id":"610f21b8597a1ce6ad4020f15311787a","metadata":{},"modified_on":"2026-02-08T17:24:02.914425Z","name":"lon.poller","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"AAAA","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-autoconfig","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"mail.mcintire.me","created_on":"2026-01-31T21:12:11.834659Z","data":[],"hostname":"autoconfig.towerops.net","id":"1c0f59e7bd583f8971f50231e6fad3cf","metadata":{},"modified_on":"2026-02-18T18:21:20.964531Z","name":"autoconfig","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-autodiscover","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"mail.mcintire.me","created_on":"2026-01-31T21:12:11.813721Z","data":[],"hostname":"autodiscover.towerops.net","id":"34a4a9bde8cf4626635cfa3cb5f8c408","metadata":{},"modified_on":"2026-02-18T18:21:21.959176Z","name":"autodiscover","priority":null,"proxiable":true,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-dev","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"db59aa44-79de-4522-9593-43e828f3215a.cfargotunnel.com","created_on":"2026-02-01T16:17:24.029892Z","data":[],"hostname":"dev.towerops.net","id":"21b470e19493c856ce697052dabc90e5","metadata":{},"modified_on":"2026-02-18T18:21:15.242958Z","name":"dev","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-dkim-ses-1","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"2skkb53ep3vfbkdstfmm2elfthurggid.dkim.amazonses.com","created_on":"2026-02-06T14:56:00.620182Z","data":[],"hostname":"2skkb53ep3vfbkdstfmm2elfthurggid._domainkey.towerops.net","id":"f4a446531128011a1a6b896010983901","metadata":{},"modified_on":"2026-02-18T18:21:23.474077Z","name":"2skkb53ep3vfbkdstfmm2elfthurggid._domainkey","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-dkim-ses-2","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"4uwsaywjpmk35j36pfiz4vr37dyy4v7z.dkim.amazonses.com","created_on":"2026-02-06T14:56:00.429727Z","data":[],"hostname":"4uwsaywjpmk35j36pfiz4vr37dyy4v7z._domainkey.towerops.net","id":"aefc5c72e25e3656dbccf0fdf2fc6f48","metadata":{},"modified_on":"2026-02-18T18:21:18.993371Z","name":"4uwsaywjpmk35j36pfiz4vr37dyy4v7z._domainkey","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-dkim-ses-3","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"l7lbifvot6nv3wwho5rs35xzqzzinz5f.dkim.amazonses.com","created_on":"2026-02-06T14:56:00.400622Z","data":[],"hostname":"l7lbifvot6nv3wwho5rs35xzqzzinz5f._domainkey.towerops.net","id":"02a4cfa316dae29898a8270f2c3aceda","metadata":{},"modified_on":"2026-02-18T18:21:15.477573Z","name":"l7lbifvot6nv3wwho5rs35xzqzzinz5f._domainkey","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-cname-root","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"d3d819ba-925c-4d84-8052-68ed32b686bb.cfargotunnel.com","created_on":"2026-01-31T21:20:07.097359Z","data":[],"hostname":"towerops.net","id":"cf1bc4e745466032786db854f4294f99","metadata":{},"modified_on":"2026-02-18T18:21:17.216154Z","name":"towerops.net","priority":null,"proxiable":true,"proxied":true,"tags":[],"timeouts":null,"ttl":1,"type":"CNAME","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-mx-mail","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"feedback-smtp.us-east-1.amazonses.com","created_on":"2026-01-31T21:12:11.92231Z","data":[],"hostname":"mail.towerops.net","id":"a2486e2bbb4d6aca978d28807893e346","metadata":{},"modified_on":"2026-01-31T21:12:11.92231Z","name":"mail","priority":10,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"MX","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-mx-root-backup","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"mail.nsnw.ca","created_on":"2026-01-31T21:12:11.783987Z","data":[],"hostname":"towerops.net","id":"bbd552d191e61345f19f8dae10281f9e","metadata":{},"modified_on":"2026-01-31T21:12:11.783987Z","name":"towerops.net","priority":20,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"MX","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-mx-root-primary","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"mail.mcintire.me","created_on":"2026-01-31T21:12:11.794166Z","data":[],"hostname":"towerops.net","id":"a5dc7d6dc6d9085132a8fa0b7db1b69a","metadata":{},"modified_on":"2026-01-31T21:12:11.794166Z","name":"towerops.net","priority":10,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"MX","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-txt-dkim","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuFm6nd0L7/nAO4m0MPxdjwRAup5C90DPSPa0TQBDT8S2WvASyQUPV8xSbICGMj6FjZYNd5ph/0VK47gDulxQgNQT96IVf2ooTfkvY/80bAyEdtJbpjEUzQnX5YBi/pJigQx2EeCdaojUZumeIdlFlzeb8QQIEtQhVnyc1Xc/Z8ljPMW1H9DXLSDINjV6UTaXX+PZ7jgpRKgU+RnJNcqTAkhhKQ4bMcRfOam/lF6wPOWte1A7ir08TdE8O67ioqygkr/ivAp7xvV4vGOkY6buLLE+c3exY+my2qTCZgJyUMAhkZzYqzGo1csfHH8x+O2XN/k8Z5jPhq8LSvl9XkllKwIDAQAB","created_on":"2026-01-31T21:12:11.932177Z","data":[],"hostname":"dkim._domainkey.towerops.net","id":"3872e537e8cee4087ead7eb5785e1426","metadata":{},"modified_on":"2026-02-03T19:17:59.246248Z","name":"dkim._domainkey","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"TXT","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-txt-dmarc","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"v=DMARC1; p=none;","created_on":"2026-01-31T21:12:11.846177Z","data":[],"hostname":"_dmarc.towerops.net","id":"bd236f9a89fc42f45fd7f4b076478880","metadata":{},"modified_on":"2026-02-03T19:17:59.427606Z","name":"_dmarc","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"TXT","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-txt-mail-spf","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"v=spf1 include:amazonses.com ~all","created_on":"2026-01-31T21:12:11.939949Z","data":[],"hostname":"mail.towerops.net","id":"76b8314432391c6630e9e1b2edfce65d","metadata":{},"modified_on":"2026-02-03T19:18:00.631343Z","name":"mail","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"TXT","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"towerops.net-txt-spf","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"v=spf1 mx a ip4:107.174.178.20 ~all","created_on":"2026-01-31T21:12:11.825178Z","data":[],"hostname":"towerops.net","id":"cf2f74d345960700a81a6025e7a89642","metadata":{},"modified_on":"2026-02-03T19:17:59.830149Z","name":"towerops.net","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"TXT","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_record","name":"towerops_srv_autodiscover","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 443 mail.mcintire.me","created_on":"2026-01-31T21:12:11.914868Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"","key_tag":0,"lat_degrees":0,"lat_direction":"","lat_minutes":0,"lat_seconds":0,"long_degrees":0,"long_direction":"","long_minutes":0,"long_seconds":0,"matching_type":0,"name":"","order":0,"port":443,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"","target":"mail.mcintire.me","type":0,"usage":0,"value":"","weight":0}],"hostname":"_autodiscover._tcp.towerops.net","id":"26db78978535d1d630432970b9a4e279","metadata":{},"modified_on":"2026-01-31T21:12:11.914868Z","name":"_autodiscover._tcp","priority":0,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"SRV","value":null,"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_ruleset","name":"towerops_firewall","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":1,"attributes":{"account_id":null,"description":"","id":"3c209e50f21b40388733a7cfe8f62f4e","kind":"zone","name":"default","phase":"http_request_firewall_custom","rules":[{"action":"block","action_parameters":[],"description":"wordpress","enabled":true,"exposed_credential_check":[],"expression":"(http.request.uri.path wildcard r\"/wp-content/*\") or (http.request.uri.path wildcard r\"/wp-admin/*\") or (http.request.uri.path wildcard r\"/*.php\")","id":"c6116e3fd2f54bb4a7bba0336bb4e18f","logging":[],"ratelimit":[],"ref":"c6116e3fd2f54bb4a7bba0336bb4e18f"}],"zone_id":"c275d35a8885de79ca8e61c17ac97ab6"},"sensitive_attributes":[],"dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_zero_trust_tunnel_cloudflared_config","name":"towerops","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":0,"attributes":{"account_id":"4d18148a82b0a91f289afbbd2944a603","config":[{"ingress_rule":[{"hostname":"aprs.me","origin_request":[],"path":"","service":"http://aprs.aprs.svc.cluster.local:4000"},{"hostname":"gridmap.org","origin_request":[],"path":"","service":"http://gridmap.gridmap.svc.cluster.local:4000"},{"hostname":"towerops.net","origin_request":[],"path":"","service":"http://towerops.towerops.svc.cluster.local:4000"},{"hostname":"","origin_request":[],"path":"","service":"http_status:404"}],"origin_request":[],"warp_routing":[]}],"id":"d3d819ba-925c-4d84-8052-68ed32b686bb","tunnel_id":"d3d819ba-925c-4d84-8052-68ed32b686bb"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="}]},{"mode":"managed","type":"cloudflare_zero_trust_tunnel_cloudflared_config","name":"towerops_dev","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":0,"attributes":{"account_id":"4d18148a82b0a91f289afbbd2944a603","config":[{"ingress_rule":[{"hostname":"dev.towerops.net","origin_request":[],"path":"","service":"http://localhost:4000"},{"hostname":"","origin_request":[],"path":"","service":"http_status:404"}],"origin_request":[],"warp_routing":[]}],"id":"db59aa44-79de-4522-9593-43e828f3215a","tunnel_id":"db59aa44-79de-4522-9593-43e828f3215a"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="}]},{"mode":"managed","type":"cloudflare_zone","name":"zones","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"index_key":"aprs.me","schema_version":0,"attributes":{"account_id":"4d18148a82b0a91f289afbbd2944a603","id":"09da59049b0ecad7b734ce3d902bf581","jump_start":null,"meta":{"phishing_detected":false,"wildcard_proxiable":false},"name_servers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"],"paused":false,"plan":"free","status":"active","type":"full","vanity_name_servers":[],"verification_key":"","zone":"aprs.me"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="},{"index_key":"gridmap.org","schema_version":0,"attributes":{"account_id":"4d18148a82b0a91f289afbbd2944a603","id":"836f24d97eb51ffc18aa10c0a98efa48","jump_start":null,"meta":{"phishing_detected":false,"wildcard_proxiable":false},"name_servers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"],"paused":false,"plan":"free","status":"active","type":"full","vanity_name_servers":[],"verification_key":"","zone":"gridmap.org"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="},{"index_key":"towerops.net","schema_version":0,"attributes":{"account_id":"4d18148a82b0a91f289afbbd2944a603","id":"c275d35a8885de79ca8e61c17ac97ab6","jump_start":null,"meta":{"phishing_detected":false,"wildcard_proxiable":false},"name_servers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"],"paused":false,"plan":"free","status":"active","type":"full","vanity_name_servers":[],"verification_key":"","zone":"towerops.net"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjAifQ=="}]},{"mode":"managed","type":"porkbun_nameservers","name":"domains","provider":"provider[\"registry.opentofu.org/marcfrederick/porkbun\"]","instances":[{"index_key":"aprs.me","schema_version":0,"attributes":{"domain":"aprs.me","nameservers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"]},"sensitive_attributes":[]},{"index_key":"beanjar.org","schema_version":0,"attributes":{"domain":"beanjar.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"gridmap.org","schema_version":0,"attributes":{"domain":"gridmap.org","nameservers":["arch.ns.cloudflare.com","tani.ns.cloudflare.com"]},"sensitive_attributes":[]},{"index_key":"gunincrements.com","schema_version":0,"attributes":{"domain":"gunincrements.com","nameservers":["curitiba.ns.porkbun.com","fortaleza.ns.porkbun.com","maceio.ns.porkbun.com","salvador.ns.porkbun.com"]},"sensitive_attributes":[]},{"index_key":"manero.org","schema_version":0,"attributes":{"domain":"manero.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"mcintire.me","schema_version":0,"attributes":{"domain":"mcintire.me","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"ntxarms.com","schema_version":0,"attributes":{"domain":"ntxarms.com","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"qth.social","schema_version":0,"attributes":{"domain":"qth.social","nameservers":["curitiba.ns.porkbun.com","fortaleza.ns.porkbun.com","maceio.ns.porkbun.com","salvador.ns.porkbun.com"]},"sensitive_attributes":[]},{"index_key":"vntx.org","schema_version":0,"attributes":{"domain":"vntx.org","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]},{"index_key":"w5isp.com","schema_version":0,"attributes":{"domain":"w5isp.com","nameservers":["ns1.as393837.net","ns2.as393837.net","ns-global.kjsl.com"]},"sensitive_attributes":[]}]}],"check_results":null}