diff --git a/ansible/group_vars/bind9_servers/aprs.me.yml b/ansible/group_vars/bind9_servers/aprs.me.yml index 1d3a05a..c8b0dc2 100644 --- a/ansible/group_vars/bind9_servers/aprs.me.yml +++ b/ansible/group_vars/bind9_servers/aprs.me.yml @@ -10,5 +10,4 @@ aprs_me_zone: hosts: - name: "@" ip: 172.245.56.83 - other_name_servers: - - aprs.me. IN CAA 0 issue "letsencrypt.org" + other_name_servers: [] diff --git a/ansible/group_vars/bind9_servers/towerops.net.yml b/ansible/group_vars/bind9_servers/towerops.net.yml index 0bb1a7f..04c6b76 100644 --- a/ansible/group_vars/bind9_servers/towerops.net.yml +++ b/ansible/group_vars/bind9_servers/towerops.net.yml @@ -18,6 +18,9 @@ towerops_net_zone: ip: 172.245.56.83 other_name_servers: - towerops.net. IN CAA 0 issue "letsencrypt.org" + - towerops.net. IN CAA 0 issue "pki.goog" + - towerops.net. IN CAA 0 issue "ssl.com" + - towerops.net. IN CAA 0 issue "sectigo.com" - autodiscover.towerops.net. IN CNAME mail.mcintire.me. - autoconfig.towerops.net. IN CNAME mail.mcintire.me. - _autodiscover._tcp.towerops.net. IN SRV 0 0 443 mail.mcintire.me. diff --git a/ansible/group_vars/bind9_servers/w5isp.com.yml b/ansible/group_vars/bind9_servers/w5isp.com.yml index b2748d5..daa8e3a 100644 --- a/ansible/group_vars/bind9_servers/w5isp.com.yml +++ b/ansible/group_vars/bind9_servers/w5isp.com.yml @@ -36,6 +36,7 @@ w5isp_com_zone: - em40.w5isp.com. IN CNAME u177982.wl233.sendgrid.net. - s1._domainkey.w5isp.com. IN CNAME s1.domainkey.u177982.wl233.sendgrid.net. - s2._domainkey.w5isp.com. IN CNAME s2.domainkey.u177982.wl233.sendgrid.net. + - uptime.w5isp.com. IN CNAME stats.uptimerobot.com. - _autodiscover._tcp.w5isp.com. IN SRV 0 0 443 mail.w5isp.com. text: - name: "@" diff --git a/tofu/cloudflare.tf b/tofu/cloudflare.tf index 0097c7c..4e9735a 100644 --- a/tofu/cloudflare.tf +++ b/tofu/cloudflare.tf @@ -247,6 +247,37 @@ resource "cloudflare_record" "gridmap_org_tunnel" { proxied = true } +# ============================================================================= +# DNS Records (CAA) - restrict certificate issuance to Cloudflare CAs +# ============================================================================= + +locals { + cloudflare_cas = ["letsencrypt.org", "pki.goog", "ssl.com", "sectigo.com"] + caa_zones = ["aprs.me", "gridmap.org"] + caa_records = merge([ + for zone in local.caa_zones : { + for ca in local.cloudflare_cas : "${zone}-${ca}" => { + zone = zone + ca = ca + } + } + ]...) +} + +resource "cloudflare_record" "caa" { + for_each = local.caa_records + + zone_id = cloudflare_zone.zones[each.value.zone].id + type = "CAA" + name = each.value.zone + + data { + flags = "0" + tag = "issue" + value = each.value.ca + } +} + # ============================================================================= # DNS Records (SRV) - separate due to data block # ============================================================================= @@ -262,9 +293,6 @@ resource "cloudflare_record" "towerops_srv_autodiscover" { name = "_autodiscover._tcp" data { - service = "_autodiscover" - proto = "_tcp" - name = "towerops.net" priority = 0 weight = 0 port = 443 @@ -275,19 +303,88 @@ resource "cloudflare_record" "towerops_srv_autodiscover" { # ============================================================================= # 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 +# Zone security settings: TLS hardening and HSTS +# ============================================================================= +resource "cloudflare_zone_settings_override" "aprs_me" { + zone_id = cloudflare_zone.zones["aprs.me"].id + + settings { + min_tls_version = "1.2" + always_use_https = "on" + tls_1_3 = "zrt" + zero_rtt = "on" + ssl = "strict" + + security_header { + enabled = true + max_age = 15552000 + include_subdomains = true + preload = true + nosniff = true + } + } +} + +resource "cloudflare_zone_settings_override" "towerops_net" { + zone_id = cloudflare_zone.zones["towerops.net"].id + + settings { + min_tls_version = "1.2" + always_use_https = "on" + tls_1_3 = "zrt" + zero_rtt = "on" + ssl = "strict" + + security_header { + enabled = true + max_age = 15552000 + include_subdomains = true + preload = true + nosniff = true + } + } +} + +resource "cloudflare_zone_settings_override" "gridmap_org" { + zone_id = cloudflare_zone.zones["gridmap.org"].id + + settings { + min_tls_version = "1.2" + always_use_https = "on" + tls_1_3 = "zrt" + zero_rtt = "on" + ssl = "strict" + + security_header { + enabled = true + max_age = 15552000 + include_subdomains = true + preload = true + nosniff = true + } + } +} +# ============================================================================= +# Firewall - custom rules (applied to all zones) # ============================================================================= -# ============================================================================= -# Firewall - towerops.net custom rules -# ============================================================================= +locals { + firewall_expression = join(" or ", [ + "(ip.src.country in {\"KP\" \"RU\" \"CN\" \"SY\" \"MM\" \"VE\" \"IQ\" \"LY\" \"SO\" \"YE\" \"SS\"})", + "(http.request.uri.path contains \".php\")", + "(http.request.uri.path contains \"/wp-content\")", + "(http.request.uri.path contains \"/wp-login\")", + "(http.request.uri.path contains \"/wp-admin\")", + "(http.request.uri.path contains \"/wp-includes\")", + "(http.request.uri.path contains \"/xmlrpc.php\")", + "(http.request.uri.path contains \"wlwmanifest.xml\")", + "(http.request.uri.path contains \"/.env\")", + "(http.request.uri.path contains \"/.git\")", + "(http.request.uri.path contains \"/phpmyadmin\")", + "(http.request.uri.path contains \"/cgi-bin\")", + "(not http.user_agent ne \"\")", + ]) +} import { to = cloudflare_ruleset.towerops_firewall @@ -302,8 +399,41 @@ resource "cloudflare_ruleset" "towerops_firewall" { 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" + expression = local.firewall_expression + description = "block abusers" + enabled = true + } +} + +import { + to = cloudflare_ruleset.gridmap_firewall + id = "zone/${local.cloudflare_zones["gridmap.org"]}/7dfc79c24a22439ea501865479822df8" +} + +resource "cloudflare_ruleset" "gridmap_firewall" { + zone_id = cloudflare_zone.zones["gridmap.org"].id + name = "default" + kind = "zone" + phase = "http_request_firewall_custom" + + rules { + action = "block" + expression = local.firewall_expression + description = "block abusers" + enabled = true + } +} + +resource "cloudflare_ruleset" "aprs_me_firewall" { + zone_id = cloudflare_zone.zones["aprs.me"].id + name = "default" + kind = "zone" + phase = "http_request_firewall_custom" + + rules { + action = "block" + expression = local.firewall_expression + description = "block abusers" enabled = true } } diff --git a/tofu/dns.tf b/tofu/dns.tf index 5676c66..d169ab4 100644 --- a/tofu/dns.tf +++ b/tofu/dns.tf @@ -1,8 +1,8 @@ locals { as393837_ns = [ "ns1.as393837.net", - "ns2.as393837.net", "ns-global.kjsl.com", + "ns2.as393837.net", ] cloudflare_ns = [ @@ -11,10 +11,10 @@ locals { ] porkbun_ns = [ - "curitiba.ns.porkbun.com", - "fortaleza.ns.porkbun.com", "maceio.ns.porkbun.com", "salvador.ns.porkbun.com", + "fortaleza.ns.porkbun.com", + "curitiba.ns.porkbun.com", ] domains = { @@ -42,5 +42,5 @@ resource "porkbun_nameservers" "domains" { for_each = local.domains domain = each.key - nameservers = each.value + nameservers = sort(each.value) } diff --git a/tofu/terraform.tfstate b/tofu/terraform.tfstate index 042bf23..254635f 100644 --- a/tofu/terraform.tfstate +++ b/tofu/terraform.tfstate @@ -1 +1 @@ -{"version":4,"terraform_version":"1.11.5","serial":12,"lineage":"aada9e42-4c37-f0e0-91fa-f89b3caac095","outputs":{},"resources":[{"mode":"managed","type":"cloudflare_managed_headers","name":"aprs_me","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"status":"tainted","schema_version":0,"attributes":{"id":"09da59049b0ecad7b734ce3d902bf581","managed_request_headers":[{"enabled":true,"id":"add_visitor_location_headers"}],"managed_response_headers":[],"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"bnVsbA==","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_managed_headers","name":"gridmap_org","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"status":"tainted","schema_version":0,"attributes":{"id":"836f24d97eb51ffc18aa10c0a98efa48","managed_request_headers":[{"enabled":true,"id":"add_visitor_location_headers"}],"managed_response_headers":[],"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"private":"bnVsbA==","dependencies":["cloudflare_zone.zones"]}]},{"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} +{"version":4,"terraform_version":"1.11.5","serial":22,"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":"caa","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"index_key":"aprs.me-letsencrypt.org","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"letsencrypt.org\"","created_on":"2026-02-25T19:20:24.920388Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"letsencrypt.org","weight":0}],"hostname":"aprs.me","id":"e9f4343f7c0dd97351b6868d48ac3ffc","metadata":{},"modified_on":"2026-02-25T19:20:24.920388Z","name":"aprs.me","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"aprs.me-pki.goog","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"pki.goog\"","created_on":"2026-02-25T19:20:24.931937Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"pki.goog","weight":0}],"hostname":"aprs.me","id":"312b7a4e5ef24aa39d0d644448b42ba1","metadata":{},"modified_on":"2026-02-25T19:20:24.931937Z","name":"aprs.me","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"aprs.me-sectigo.com","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"sectigo.com\"","created_on":"2026-02-25T19:20:23.4046Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"sectigo.com","weight":0}],"hostname":"aprs.me","id":"a03268c868921324d93c424b75a66123","metadata":{},"modified_on":"2026-02-25T19:20:23.4046Z","name":"aprs.me","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"aprs.me-ssl.com","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"ssl.com\"","created_on":"2026-02-25T19:20:23.757538Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"ssl.com","weight":0}],"hostname":"aprs.me","id":"ca710bf09e7b007ed13e55f6cb3b72ba","metadata":{},"modified_on":"2026-02-25T19:20:23.757538Z","name":"aprs.me","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"gridmap.org-letsencrypt.org","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"letsencrypt.org\"","created_on":"2026-02-25T19:20:26.213276Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"letsencrypt.org","weight":0}],"hostname":"gridmap.org","id":"ec4d9e50c72f265010b4dc56db1f21f7","metadata":{},"modified_on":"2026-02-25T19:20:26.213276Z","name":"gridmap.org","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"gridmap.org-pki.goog","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"pki.goog\"","created_on":"2026-02-25T19:20:25.34753Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"pki.goog","weight":0}],"hostname":"gridmap.org","id":"bf2e711ac3abb681fc725daa2e0a2c53","metadata":{},"modified_on":"2026-02-25T19:20:25.34753Z","name":"gridmap.org","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"gridmap.org-sectigo.com","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"sectigo.com\"","created_on":"2026-02-25T19:20:26.603772Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"sectigo.com","weight":0}],"hostname":"gridmap.org","id":"8175bf30b3d31b82c4c1b85af252ac7e","metadata":{},"modified_on":"2026-02-25T19:20:26.603772Z","name":"gridmap.org","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"private":"eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9","dependencies":["cloudflare_zone.zones"]},{"index_key":"gridmap.org-ssl.com","schema_version":3,"attributes":{"allow_overwrite":false,"comment":"","content":"0 issue \"ssl.com\"","created_on":"2026-02-25T19:20:23.273147Z","data":[{"algorithm":0,"altitude":0,"certificate":"","content":"","digest":"","digest_type":0,"fingerprint":"","flags":"0","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":0,"precision_horz":0,"precision_vert":0,"preference":0,"priority":0,"proto":"","protocol":0,"public_key":"","regex":"","replacement":"","selector":0,"service":"","size":0,"tag":"issue","target":"","type":0,"usage":0,"value":"ssl.com","weight":0}],"hostname":"gridmap.org","id":"03749ab647ee85cdf0bb7ba8bcbba3c1","metadata":{},"modified_on":"2026-02-25T19:20:23.273147Z","name":"gridmap.org","priority":null,"proxiable":false,"proxied":false,"tags":[],"timeouts":null,"ttl":1,"type":"CAA","value":null,"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"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":"aprs_me_firewall","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":1,"attributes":{"account_id":null,"description":"","id":"9a107a7272a14c05b9e0e747b5a93bf7","kind":"zone","name":"default","phase":"http_request_firewall_custom","rules":[{"action":"block","action_parameters":[],"description":"block abusers","enabled":true,"exposed_credential_check":[],"expression":"(ip.src.country in {\"KP\" \"RU\" \"CN\" \"SY\" \"MM\" \"VE\" \"IQ\" \"LY\" \"SO\" \"YE\" \"SS\"}) or (http.request.uri.path contains \".php\") or (http.request.uri.path contains \"/wp-content\") or (http.request.uri.path contains \"/wp-login\") or (http.request.uri.path contains \"/wp-admin\") or (http.request.uri.path contains \"/wp-includes\") or (http.request.uri.path contains \"/xmlrpc.php\") or (http.request.uri.path contains \"wlwmanifest.xml\") or (http.request.uri.path contains \"/.env\") or (http.request.uri.path contains \"/.git\") or (http.request.uri.path contains \"/phpmyadmin\") or (http.request.uri.path contains \"/cgi-bin\") or (not http.user_agent ne \"\")","id":"6bbd814f49634e3997386d6fa1193e4e","logging":[],"ratelimit":[],"ref":"6bbd814f49634e3997386d6fa1193e4e"}],"zone_id":"09da59049b0ecad7b734ce3d902bf581"},"sensitive_attributes":[],"dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_ruleset","name":"gridmap_firewall","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":1,"attributes":{"account_id":null,"description":"","id":"7dfc79c24a22439ea501865479822df8","kind":"zone","name":"default","phase":"http_request_firewall_custom","rules":[{"action":"block","action_parameters":[],"description":"block abusers","enabled":true,"exposed_credential_check":[],"expression":"(ip.src.country in {\"KP\" \"RU\" \"CN\" \"SY\" \"MM\" \"VE\" \"IQ\" \"LY\" \"SO\" \"YE\" \"SS\"}) or (http.request.uri.path contains \".php\") or (http.request.uri.path contains \"/wp-content\") or (http.request.uri.path contains \"/wp-login\") or (http.request.uri.path contains \"/wp-admin\") or (http.request.uri.path contains \"/wp-includes\") or (http.request.uri.path contains \"/xmlrpc.php\") or (http.request.uri.path contains \"wlwmanifest.xml\") or (http.request.uri.path contains \"/.env\") or (http.request.uri.path contains \"/.git\") or (http.request.uri.path contains \"/phpmyadmin\") or (http.request.uri.path contains \"/cgi-bin\") or (not http.user_agent ne \"\")","id":"b90e87338cd84bd4a8caad80851eb539","logging":[],"ratelimit":[],"ref":"b90e87338cd84bd4a8caad80851eb539"}],"zone_id":"836f24d97eb51ffc18aa10c0a98efa48"},"sensitive_attributes":[],"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":"block abusers","enabled":true,"exposed_credential_check":[],"expression":"(ip.src.country in {\"KP\" \"RU\" \"CN\" \"SY\" \"MM\" \"VE\" \"IQ\" \"LY\" \"SO\" \"YE\" \"SS\"}) or (http.request.uri.path contains \".php\") or (http.request.uri.path contains \"/wp-content\") or (http.request.uri.path contains \"/wp-login\") or (http.request.uri.path contains \"/wp-admin\") or (http.request.uri.path contains \"/wp-includes\") or (http.request.uri.path contains \"/xmlrpc.php\") or (http.request.uri.path contains \"wlwmanifest.xml\") or (http.request.uri.path contains \"/.env\") or (http.request.uri.path contains \"/.git\") or (http.request.uri.path contains \"/phpmyadmin\") or (http.request.uri.path contains \"/cgi-bin\") or (not http.user_agent ne \"\")","id":"7a6d32e7a2cc4ebfbca01d6fae850b80","logging":[],"ratelimit":[],"ref":"7a6d32e7a2cc4ebfbca01d6fae850b80"}],"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":"cloudflare_zone_settings_override","name":"aprs_me","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":2,"attributes":{"id":"09da59049b0ecad7b734ce3d902bf581","initial_settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"off","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.0","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"off","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":false,"include_subdomains":false,"max_age":0,"nosniff":false,"preload":false}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"full","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"on","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"off","websockets":"on","zero_rtt":"off"}],"initial_settings_read_at":"2026-02-25T19:03:59.962087Z","readonly_settings":["advanced_ddos","http2","long_lived_grpc","mirage","origin_error_page_pass_thru","polish","prefetch_preload","proxy_read_timeout","response_buffering","sort_query_string_for_cache","true_client_ip_header","webp","image_resizing"],"settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"on","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.2","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"off","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":true,"include_subdomains":true,"max_age":15552000,"nosniff":true,"preload":true}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"strict","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"zrt","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"","websockets":"on","zero_rtt":"on"}],"zone_id":"09da59049b0ecad7b734ce3d902bf581","zone_status":"active","zone_type":"full"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_zone_settings_override","name":"gridmap_org","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":2,"attributes":{"id":"836f24d97eb51ffc18aa10c0a98efa48","initial_settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"off","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.0","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"off","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":false,"include_subdomains":false,"max_age":0,"nosniff":false,"preload":false}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"full","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"on","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"off","websockets":"on","zero_rtt":"off"}],"initial_settings_read_at":"2026-02-25T19:04:25.78697Z","readonly_settings":["advanced_ddos","http2","long_lived_grpc","mirage","origin_error_page_pass_thru","polish","prefetch_preload","proxy_read_timeout","response_buffering","sort_query_string_for_cache","true_client_ip_header","webp","image_resizing"],"settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"on","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.2","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"off","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":true,"include_subdomains":true,"max_age":15552000,"nosniff":true,"preload":true}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"strict","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"zrt","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"","websockets":"on","zero_rtt":"on"}],"zone_id":"836f24d97eb51ffc18aa10c0a98efa48","zone_status":"active","zone_type":"full"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==","dependencies":["cloudflare_zone.zones"]}]},{"mode":"managed","type":"cloudflare_zone_settings_override","name":"towerops_net","provider":"provider[\"registry.opentofu.org/cloudflare/cloudflare\"]","instances":[{"schema_version":2,"attributes":{"id":"c275d35a8885de79ca8e61c17ac97ab6","initial_settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"on","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.2","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"add_header","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":true,"include_subdomains":false,"max_age":15552000,"nosniff":true,"preload":true}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"full","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"zrt","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"off","websockets":"on","zero_rtt":"on"}],"initial_settings_read_at":"2026-02-25T19:04:04.422661Z","readonly_settings":["advanced_ddos","http2","long_lived_grpc","mirage","origin_error_page_pass_thru","polish","prefetch_preload","proxy_read_timeout","response_buffering","sort_query_string_for_cache","true_client_ip_header","webp","image_resizing"],"settings":[{"aegis":[{"enabled":false,"pool_id":""}],"always_online":"off","always_use_https":"on","automatic_https_rewrites":"on","binary_ast":"off","brotli":"on","browser_cache_ttl":14400,"browser_check":"on","cache_level":"aggressive","challenge_ttl":1800,"ciphers":[],"cname_flattening":"flatten_at_root","development_mode":"off","early_hints":"off","email_obfuscation":"on","filter_logs_to_cloudflare":"off","fonts":"off","h2_prioritization":"off","hotlink_protection":"off","http2":"on","http3":"on","image_resizing":"off","ip_geolocation":"on","ipv6":"on","log_to_cloudflare":"on","max_upload":100,"min_tls_version":"1.2","minify":[],"mirage":"off","mobile_redirect":[],"nel":[{"enabled":true}],"opportunistic_encryption":"on","opportunistic_onion":"on","orange_to_orange":"off","origin_error_page_pass_thru":"off","origin_max_http_version":"2","polish":"off","prefetch_preload":"off","privacy_pass":"on","proxy_read_timeout":"100","pseudo_ipv4":"add_header","replace_insecure_js":"on","response_buffering":"off","rocket_loader":"off","security_header":[{"enabled":true,"include_subdomains":true,"max_age":15552000,"nosniff":true,"preload":true}],"security_level":"medium","server_side_exclude":"on","sort_query_string_for_cache":"off","speed_brain":"off","ssl":"strict","ssl_automatic_mode":"custom","tls_1_2_only":"off","tls_1_3":"zrt","tls_client_auth":"off","true_client_ip_header":"off","universal_ssl":"","visitor_ip":"on","waf":"off","webp":"","websockets":"on","zero_rtt":"on"}],"zone_id":"c275d35a8885de79ca8e61c17ac97ab6","zone_status":"active","zone_type":"full"},"sensitive_attributes":[],"private":"eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==","dependencies":["cloudflare_zone.zones"]}]},{"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":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"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":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"sensitive_attributes":[]},{"index_key":"mcintire.me","schema_version":0,"attributes":{"domain":"mcintire.me","nameservers":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"sensitive_attributes":[]},{"index_key":"ntxarms.com","schema_version":0,"attributes":{"domain":"ntxarms.com","nameservers":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"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":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"sensitive_attributes":[]},{"index_key":"w5isp.com","schema_version":0,"attributes":{"domain":"w5isp.com","nameservers":["ns-global.kjsl.com","ns1.as393837.net","ns2.as393837.net"]},"sensitive_attributes":[]}]}],"check_results":null}