diff --git a/findings.md b/findings.md new file mode 100644 index 0000000..473d52b --- /dev/null +++ b/findings.md @@ -0,0 +1,286 @@ +# Infra Code Audit Findings + +> Generated: 2026-06-04 +> Scope: `tofu/` (OpenTofu) and `talos/` (Talos Kubernetes cluster) + +## Severity Legend +- **🔴 CRITICAL** — Security vulnerability or data exposure +- **🟠 HIGH** — Configuration that will break or is actively broken +- **🟡 MEDIUM** — Suboptimal config, drift, or potential future issue +- **🔵 LOW** — Cleanup / best practice / suggestion + +--- + +## 🔴 Security Issues + +### S-1: `talos/kubeconfig` committed to git +- **File**: `talos/kubeconfig` +- **Severity**: 🔴 CRITICAL +- **Issue**: Full admin kubeconfig for the home-cluster is tracked in git. Grants cluster admin access. +- **Fix**: Add to `.gitignore`, remove from git history (`git rm --cached talos/kubeconfig`), rotate certs if exposed publicly. + +### S-2: `talos/secrets.yaml.backup` tracked in git +- **File**: `talos/secrets.yaml.backup` +- **Severity**: 🔴 CRITICAL +- **Issue**: Backup of cluster secrets (contains CA keys, bootstrap tokens, service account keys) is tracked in git. The main `secrets.yaml` is correctly gitignored, but the backup isn't — `.gitignore` only has `*.bak` not `*.backup`. +- **Fix**: Add `*.backup` to `.gitignore`, `git rm --cached talos/secrets.yaml.backup`. + +### S-3: `talos/talosconfig.backup` tracked in git +- **File**: `talos/talosconfig.backup` +- **Severity**: 🔴 CRITICAL +- **Issue**: Backup of talosctl admin config is tracked in git (same `.backup` gitignore gap). +- **Fix**: Add `*.backup` to `.gitignore`, `git rm --cached talos/talosconfig.backup`. + +### S-4: Tailscale pre-auth keys in plaintext in CP configs +- **Files**: `talos/configs/talos-cp1.yaml`, `talos-cp2.yaml`, `talos-cp3.yaml` (TS_AUTHKEY line) +- **Severity**: 🔴 CRITICAL +- **Issue**: Tailscale pre-authentication keys are stored in plaintext in three config files. Also exposed in `talos/configs/talos-worker2.yaml`. These keys are reusable until revoked and grant Tailscale network access. +- **Fix**: Use `sops` or environment variable injection at apply time. Rotate the exposed keys in Tailscale admin console. + +### S-5: `tofu/terraform.tfstate` committed to git +- **File**: `tofu/terraform.tfstate` +- **Severity**: 🔴 CRITICAL +- **Issue**: Terraform state file (5,081 lines) committed to repo. Contains Cloudflare account IDs, zone IDs, internal K8s service DNS names (`*.svc.cluster.local`), tunnel ingress rules, and DKIM keys. OpenTofu has native state encryption (v1.7+) which is not being used. +- **Fix**: Add `*.tfstate*` to `.gitignore`, migrate to remote encrypted state backend, or use OpenTofu state encryption. + +### S-6: Private CA keys and cluster secrets exposed in per-node configs +- **Files**: All `talos/configs/talos-*.yaml` — every per-node config contains raw PKI private keys (machine CA, cluster CA, aggregator CA, service account, etcd CA) +- **Severity**: 🔴 CRITICAL +- **Issue**: Per-node configs contain the full cluster PKI private keys in base64. These are NOT in `.gitignore`. Anyone with repo access can decrypt and use them to impersonate cluster components. +- **Fix**: Either gitignore the per-node configs, or strip keys and inject at apply time via `talosctl apply-config --patch`. + +--- + +## 🟠 Configuration Issues & Likely Bugs + +### C-1: Installer version drift — CPs on v1.12.4, some workers on v1.12.6 +- **Files**: + - `talos/controlplane.yaml:80` → `v1.12.4` + - `talos/configs/talos-cp{1,2,3}.yaml:80` → `v1.12.4` + - `talos/configs/talos-worker{1,2,3}.yaml:78` → `v1.12.4` + - `talos/configs/talos-worker{4,5}.yaml:78` → `v1.12.6` + - `talos/CLAUDE.md:9` → "Talos Version: v1.12.6" +- **Severity**: 🟠 HIGH +- **Issue**: Configs reference a mix of `v1.12.4` and `v1.12.6` installer images. CLAUDE.md documents v1.12.6 as the cluster version. Per-node CP configs and workers 1-3 are on v1.12.4. Mixed versions across control plane and workers can cause compatibility issues. +- **Fix**: Update all references to v1.12.6 (whatever the current running version is). + +### C-2: `grubUseUKICmdline` + `extraKernelArgs` conflict on CPs +- **Files**: + - `talos/configs/talos-cp1.yaml:84-85` (and cp2, cp3) + - `talos/CLAUDE.md` documents this explicitly: "install.extraKernelArgs and install.grubUseUKICmdline cannot be used together" +- **Severity**: 🟠 HIGH +- **Issue**: All three control plane per-node configs set BOTH `grubUseUKICmdline: true` AND `extraKernelArgs: ["console=tty0"]`. Talos v1.12 validates these as mutually exclusive and will reject the config. Since these are Proxmox VMs booting with UEFI (OVMF), they likely use `systemd-boot` which ignores `extraKernelArgs` anyway. +- **Fix**: Remove `extraKernelArgs` and bake kernel args into the Image Factory schematic if needed. + +### C-3: Tailscale extension won't work on control plane nodes +- **Files**: `talos/configs/talos-cp{1,2,3}.yaml` + - `install.image`: `ghcr.io/siderolabs/installer:v1.12.4` (stock installer) + - `install.extensions`: `[ghcr.io/siderolabs/tailscale:1.82.1]` + - `ExtensionServiceConfig`: configured for tailscale with `TS_AUTHKEY` +- **Severity**: 🟠 HIGH +- **Issue**: CP configs specify `install.extensions` but use the **stock** installer image (`ghcr.io/siderolabs/installer`). Extensions require a **custom/factory** installer image (like the worker configs use: `factory.talos.dev/installer/`). The stock installer does NOT support extensions. Result: tailscale extension binary is never installed, `ExtensionServiceConfig` for tailscale silently fails. +- **Fix**: Either switch CP nodes to use the factory installer image (bundling tailscale into the schematic), or remove the tailscale extension config from CP nodes. + +### C-4: Longhorn disk configs missing on workers 2 and 3 +- **Files**: `talos/configs/talos-worker2.yaml` (lines 34-41, 89-92), `talos/configs/talos-worker3.yaml` (same) +- **Severity**: 🟠 HIGH +- **Issue**: Workers 2 and 3 have NVMe passthrough disks (`/dev/sdb`) for Longhorn per CLAUDE.md, but the `extraMounts` and `disks` sections are **commented out** in both configs. Worker1 (no NVMe) correctly has them disabled, but workers 2 and 3 appear to have been incorrectly commented out during the same fix pass. Longhorn effectively has no dedicated storage in the cluster. +- **Fix**: Uncomment `extraMounts` and `disks` sections in `talos-worker2.yaml` and `talos-worker3.yaml`. + +### C-5: All per-node worker configs lack `/dev/sdb` disk config +- **Files**: `talos/configs/talos-worker{1,2,3,4,5}.yaml` +- **Severity**: 🟠 HIGH +- **Issue**: ALL per-node worker configs have `extraMounts` and `disks` commented out. The base `worker.yaml` template has them active. Since per-node configs are what gets applied, no worker has the Longhorn bind mount configured. The base template and per-node configs have drifted apart. +- **Fix**: Enable for workers 2-3 (have NVMe). Keep disabled for worker1 (no NVMe). Clarify for workers 4-5. + +### C-6: Suspect firewall expression `(not http.user_agent ne "")` +- **File**: `tofu/cloudflare.tf:437` +- **Severity**: 🟠 HIGH +- **Issue**: The expression `(not http.user_agent ne "")` uses confusing double negation. Cloudflare's WAF expression language may not handle this as intended — Cloudflare normalizes empty User-Agents by injecting defaults, making this condition effectively a no-op. +- **Fix**: Use `(not http.user_agent exists)` to block requests with missing User-Agent, or remove the condition entirely. + +--- + +## 🟡 Configuration Drift & Suboptimal Settings + +### D-1: Base configs (`controlplane.yaml`, `worker.yaml`) are stale templates +- **Files**: `talos/controlplane.yaml`, `talos/worker.yaml` +- **Severity**: 🟡 MEDIUM +- **Issue**: These are the original `talosctl gen config` output with auto-generated hostnames. They are NOT applied to any node (per-node configs in `configs/` are used instead). Yet they contain the same cluster secrets and must be kept in sync with any changes. They serve no deployment purpose and add maintenance burden. +- **Fix**: Either delete them (rely solely on per-node configs) or clearly mark them as templates with a big warning comment. + +### D-2: `controlplane.yaml` has no DNS nameservers configured +- **File**: `talos/controlplane.yaml` (network: `{}`) +- **Severity**: 🟡 MEDIUM +- **Issue**: Base controlplane config has empty network config. `worker.yaml` has three explicit nameservers (`9.9.9.9`, `149.112.112.112`, `1.1.1.1`). CP nodes rely entirely on DHCP DNS with no fallback. +- **Fix**: Add the same nameservers to the CP template for consistency. + +### D-3: No nameservers in per-node configs +- **Files**: All `talos/configs/talos-*.yaml` +- **Severity**: 🟡 MEDIUM +- **Issue**: While `worker.yaml` template has nameservers, none of the per-node configs carry them. All nodes rely on DHCP DNS only. +- **Fix**: Add nameservers to per-node configs for DNS resilience. + +### D-4: Hostname auto-generation in base configs (potential footgun) +- **Files**: `talos/controlplane.yaml` (HostnameConfig: `auto: stable`), `talos/worker.yaml` (same) +- **Severity**: 🟡 MEDIUM +- **Issue**: The base configs use `auto: stable` which generates hostnames from machine IDs. If someone applies the base config to a new node thinking it's a template, they'll get an auto-generated hostname instead of a predictable one. +- **Fix**: Comment out the `auto` line and add a big WARNING comment. + +### D-5: Per-node worker configs lack time servers +- **Files**: `talos/configs/talos-worker{1,2,3}.yaml` +- **Severity**: 🟡 LOW +- **Issue**: Per-node CP configs have `time.servers: [0/1/2.us.pool.ntp.org]` but worker per-node configs do not. Workers fall back to default NTP. +- **Fix**: Add NTP servers to worker configs for consistency. + +### D-6: Kubernetes discovery registry disabled +- **Files**: All configs — `cluster.discovery.registries.kubernetes.disabled: true` +- **Severity**: 🟡 MEDIUM +- **Issue**: Kubernetes discovery is disabled, and the external service registry is empty `{}`. If the Talos discovery service is unavailable, new nodes can't discover existing cluster members and won't join. +- **Fix**: Enable Kubernetes discovery (`disabled: false`) so nodes can discover each other via the API server. + +### D-7: `talos/CLAUDE.md` and `talos/README.md` doc drift +- **Files**: `talos/README.md` vs `talos/CLAUDE.md` +- **Severity**: 🟡 MEDIUM +- **Issue**: README.md says 3 workers (10.0.15.4-6), CLAUDE.md says 4 workers (10.0.15.4-7 including bare-metal talos4). README.md says "Proxmox Ceph storage" for VMs but Ceph is NOT used — it's `local-lvm`. README.md upgrade example references v1.9.5 (far behind). +- **Fix**: Align README.md with actual cluster state. Remove Ceph references. + +### D-8: `tofu/` provider versions behind +- **Files**: `tofu/.terraform.lock.hcl` +- **Severity**: 🟡 LOW +- **Issue**: Cloudflare provider pinned at v4.52.5 (v5.x available — breaking changes to review). Porkbun at v1.3.1 (v1.3.3 latest). +- **Fix**: Review changelogs and upgrade if safe. + +### D-9: Towerops tunnel uses `.svc.cluster.local` DNS +- **File**: `tofu/cloudflare.tf:574-580` +- **Severity**: 🟡 MEDIUM +- **Issue**: Tunnel ingress rules point to `http://towerops.towerops.svc.cluster.local:4000` etc. `cloudflared` running on a VM at 204.110.191.200 must be able to resolve these cluster-internal DNS names, which requires special DNS forwarding setup. +- **Fix**: Verify DNS resolution works, or document the setup. + +### D-10: PodSecurity admission uses deprecated `v1alpha1` API version +- **Files**: All CP configs — `admissionControl[0].configuration.apiVersion: pod-security.admission.config.k8s.io/v1alpha1` +- **Severity**: 🟡 LOW +- **Issue**: The `v1alpha1` API version for PodSecurityConfiguration was deprecated in Kubernetes 1.33+. The cluster runs v1.35.0. Should use `v1` or `v1beta1`. +- **Fix**: Update to `pod-security.admission.config.k8s.io/v1`. + +### D-11: `machine.time`, `machine.disks`, `machine.network.nameservers` use legacy fields +- **Files**: Various in `talos/` +- **Severity**: 🟡 LOW +- **Issue**: Talos v1.12 deprecates these fields in favor of multi-doc configs (`TimeSyncConfig`, `UserVolumeConfig`, `ResolverConfig`). Currently functional but will be removed in a future Talos version. +- **Fix**: Migrate to multi-doc configs when convenient. + +--- + +## 🔵 Cleanup & Suggestions + +### E-1: Stale backup files committed to git +- **Files**: + - `tofu/terraform.tfstate.*.backup` (3 files) + - `tofu/terraform.tfstate.backup` + - `talos/configs/talos-worker1.yaml.bak` + - `talos/secrets.yaml.backup` + - `talos/talosconfig.backup` +- **Severity**: 🔵 LOW +- **Issue**: Multiple stale backup files clutter the repo. `.gitignore` in talos/ has `*.bak` but not `*.backup`. +- **Fix**: Add `*.backup`, `*.bak`, `*.tfstate*` to gitignore both places. Clean up tracked files. + +### E-2: `tofu/tfplan` committed +- **File**: `tofu/tfplan` +- **Severity**: 🔵 LOW +- **Issue**: Binary plan file committed. Should be ephemeral/gitignored. +- **Fix**: Add `tfplan` to gitignore. + +### E-3: No `.gitignore` in `tofu/` +- **File**: (missing) `tofu/.gitignore` +- **Severity**: 🔵 LOW +- **Issue**: The tofu directory has no `.gitignore`. State files, `.terraform/` provider cache, plan files, and IDE settings are tracked. +- **Fix**: Create `tofu/.gitignore` with `.terraform/`, `*.tfstate*`, `tfplan`, `.envrc`, `.claude/`. + +### E-4: `tofu/.claude/` IDE settings tracked +- **File**: `tofu/.claude/settings.local.json` +- **Severity**: 🔵 LOW +- **Issue**: IDE/editor configuration committed to repo. +- **Fix**: Add `.claude/` to gitignore. + +### E-5: Orphaned/unused worker configs (workers 4 and 5) +- **Files**: `talos/configs/talos-worker4.yaml`, `talos/configs/talos-worker5.yaml` +- **Severity**: 🔵 LOW +- **Issue**: Worker4 config has `hostname: talos4` (filename doesn't match hostname). Worker5 hostname `talos5` with no documented existence. Worker4 config uses bare-metal install disk pattern (`/dev/sdb`). Worker5 uses `/dev/nvme0n1`. No VMs or nodes documented for either. +- **Fix**: Either document the purpose of these nodes or remove the orphaned configs. + +### E-6: `towerops-dev` tunnel documented as "down" +- **File**: `tofu/cloudflare.tf` (comment around line 556) +- **Severity**: 🔵 LOW +- **Issue**: dev tunnel marked as "down" in comments but still has import + config resource. If the tunnel was deleted from Cloudflare, `tofu apply` will fail. +- **Fix**: Either remove the tunnel config or fix the tunnel and update the comment. + +### E-7: `talos/.gitignore` doesn't cover secrets effectively +- **File**: `talos/.gitignore` +- **Severity**: 🔵 LOW +- **Issue**: Currently only ignores `secrets.yaml`, `talosconfig`, `*.tmp`, `*.bak`. Missing: `*.backup`, `kubeconfig`, `configs/*.yaml` (which contain full cluster PKI). +- **Fix**: Add `*.backup`, `kubeconfig` to `.gitignore`. Consider gitignoring per-node configs and maintaining them outside the repo. + +### E-8: `disableManifestsDirectory: true` comment is misleading +- **Files**: All configs +- **Severity**: 🔵 LOW +- **Issue**: Comment says "configures the kubelet to get static pod manifests from the /etc/kubernetes/manifests directory" — but setting `true` DISABLES that directory. The comment describes the inverse behavior. +- **Fix**: Fix the comment to say "Disable static pod manifest directory". + +### E-9: `talos/README.md` has stale upgrade example +- **File**: `talos/README.md` line 47, 112 +- **Severity**: 🔵 LOW +- **Issue**: Upgrade example shows `v1.9.5` (cluster is on v1.12.x). Also mentions `tofu` deployment workflow referencing `terraform/talos_vms.tf` which was removed. +- **Fix**: Update examples to match current versions and directory structure. + +### E-10: `tofu/` uses OpenTofu-specific features (worth documenting) +- **File**: `tofu/dns.tf`, `tofu/cloudflare.tf` +- **Severity**: 🔵 LOW (INFO) +- **Issue**: Uses `import` with `for_each` which is an OpenTofu v1.8+ feature with no Terraform equivalent. This config can't go back to Terraform. +- **Fix**: Document this constraint to prevent future migration attempts. + +--- + +## Summary + +| Severity | Count | +|----------|-------| +| 🔴 CRITICAL | 6 | +| 🟠 HIGH | 6 | +| 🟡 MEDIUM | 11 | +| 🔵 LOW | 10 | +| **Total** | **33** | + +**Top 5 priorities:** +1. Remove sensitive files from git (kubeconfig, secrets backup, talosconfig backup, per-node configs with PKI) — S-1, S-2, S-3, S-6 +2. Rotate exposed Tailscale pre-auth keys — S-4 +3. Fix CP configs: either remove tailscale extension or switch to factory installer — C-3 +4. Fix `grubUseUKICmdline` + `extraKernelArgs` conflict on CPs — C-2 +5. Uncomment Longhorn disk config on workers 2-3 and resolve installer version drift — C-1, C-4, C-5 + +--- + +## ✅ Fixes Applied (2026-06-04) + +### S-5: State file removed from git tracking +- Created `tofu/.gitignore` with `*.tfstate`, `*.tfstate.*`, `.terraform/`, `tfplan`, `.envrc`, `.claude/` +- Ran `git rm --cached tofu/terraform.tfstate` — stops tracking but keeps local copy +- Backup state files (`*tfstate*.backup`, `*tfstate.*.backup`) now covered by `*.tfstate.*` pattern + +### D-8: Porkbun provider upgraded to latest +- **Before**: v1.3.1 | **After**: v1.3.3 +- Via `tofu init -upgrade` (within existing `~> 1.3` constraint) +- Lock file updated accordingly + +### D-8: Cloudflare provider upgraded to latest v4.x +- **Before**: v4.52.5 | **After**: v4.52.7 +- Via `tofu init -upgrade` (within existing `~> 4.0` constraint) +- Lock file updated accordingly + +### E-1, E-2, E-3: Local backup files cleaned up +- Removed `tofu/terraform.tfstate.backup` +- Removed `tofu/terraform.tfstate.*.backup` (3 stale backups) +- Removed `tofu/tfplan` +- `.gitignore` prevents future accumulation + +### Notes +- **Cloudflare v5.x** not yet migrated — requires splitting 4x `cloudflare_zone_settings_override` into ~16 individual `cloudflare_zone_setting` resources + renaming `zone` → `name` on `cloudflare_zone`. Non-trivial. Pending decision. diff --git a/tofu/.gitignore b/tofu/.gitignore new file mode 100644 index 0000000..34e6944 --- /dev/null +++ b/tofu/.gitignore @@ -0,0 +1,22 @@ +# Local .terraform directories +.terraform/ + +# Terraform / OpenTofu state files +*.tfstate +*.tfstate.* +!*.tfstate.enc + +# Plan files +tfplan +plan.out + +# Environment variables +.envrc + +# IDE/editor settings +.claude/ +.idea/ +.vscode/ + +# OS files +.DS_Store diff --git a/tofu/.terraform.lock.hcl b/tofu/.terraform.lock.hcl index 6db250f..1a8ab71 100644 --- a/tofu/.terraform.lock.hcl +++ b/tofu/.terraform.lock.hcl @@ -2,47 +2,71 @@ # Manual edits may be lost in future updates. provider "registry.opentofu.org/cloudflare/cloudflare" { - version = "4.52.5" + version = "4.52.7" 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", + "h1:+O72J3QYiZtYmYYZM/Eh0f4NNfl1BvjX1eju43qTQsQ=", + "h1:0oqjYIPXcXh7XiDiKI085cHDYQQ5mh8kDl9dmBtvtog=", + "h1:4b4ESb87MGv5bnadgYe7sK5rEkKMZhbkQcwPubQTsR4=", + "h1:6mTr3eA1Ddb348lLmJuyvn98z4KF+ejqaUEJ76D1rzQ=", + "h1:9/3YH+9k9HqsvFtbmBf7SO2+xqZeZrXNKzLkjNuhUEA=", + "h1:Jcq4tBWgyH4/2JsojNBSRaN0mcItVMchO+lynonrlqc=", + "h1:Y4Vv/2RdP0Q+uxqhOxzOdKxuuEMjXPDcU0vPc5bCQzI=", + "h1:a0gW8FBKsbP9Fi0HEDoy49WIbEWVHk9+BR4/iwuBdDQ=", + "h1:gElv6iqJtg8OKN77gbw+MjrkrQmJHPkkMEi1J+0xkpU=", + "h1:oslXUugD/NQ+duJgT4BhKQyfGbuFOANknMvR73fiOeM=", + "h1:pPItIWii5oymR+geZB219ROSPuSODPLTlM4S/u8xLvM=", + "h1:u67GWw8GwD9NDlDzp9Y5VRnSQGcCrE8rSpkGPaBpDl0=", + "h1:uUUa9dY0XQOycI8pxg16PFFtL0WCTi9uEJz8trTQ7pU=", + "h1:y3rV8KF2q6GEMANNlf5EkKJurlfbKlIKpjGcdxoy7pQ=", + "zh:0c904ce31a4c6c4a5b3bf7ff1560e77c0cc7e2450c8553ded8e8c90398e1418b", + "zh:36183d310c36373fe4cb936b83c595c6fd3b0a94bc7827f28e5789ccbf59752e", + "zh:556a568a6f0235e8f41647de9e4d3a1e7b1d6502df8b19b54ec441f1c653ea10", + "zh:633ebbd5b0245e75e500ef9be4d9e62288f97e8da3baaa51323892a786d90285", + "zh:6acfe60cf52a65ba8f044f748548d2119e7f4fd7f8ebcb14698960d87c68f529", "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", - "zh:8a9993f1dcadf1dd6ca43b23348abe374605d29945a2fafc07fb3457644e6a54", - "zh:b1b9a1e6bcc24d5863a664a411d2dc906373ae7a2399d2d65548ce7377057852", - "zh:b270184cdeec277218e84b94cb136fead753da717f9b9dc378e51907f3f00bb0", - "zh:dff2bc10071210181726ce270f954995fe42c696e61e2e8f874021fed02521e5", - "zh:e8e87b40b6a87dc097b0fdc20d3f725cec0d82abc9cc3755c1f89f8f6e8b0036", - "zh:ee964a6573d399a5dd22ce328fb38ca1207797a02248f14b2e4913ee390e7803", + "zh:904acc31ebb9d6ef68c792074b30532ee61bf515f19e0a3c75b46f126cca1f13", + "zh:a1d0a81246afc8750286d3f6fe7a8fbe6460dd2662407b28dbfbabb612e5fa9d", + "zh:a41a36fe253fc365fe2b7ffc749624688b2693b4634862fda161179ab100029f", + "zh:a7ef269e77ffa8715c8945a2c14322c7ff159ea44c15f62505f3cbb2cae3b32d", + "zh:b01aa3bed30610633b762df64332b26f8844a68c3960cebcb30f04918efc67fe", + "zh:b069cc2cd18cae10757df3ae030508eac8d55de7e49eda7a5e3e11f2f7fe6455", + "zh:b2d2c6313729ebb7465dceece374049e2d08bda34473901be9ff46a8836d42b2", + "zh:db0e114edaf4bc2f3d4769958807c83022bfbc619a00bdf4c4bd17faa4ab2d8b", + "zh:ecc0aa8b9044f664fd2aaf8fa992d976578f78478980555b4b8f6148e8d1a5fe", ] } provider "registry.opentofu.org/marcfrederick/porkbun" { - version = "1.3.1" + version = "1.3.3" constraints = "~> 1.3" hashes = [ - "h1:TZUIn82Jy1NcvuJbkAUTqJe5ZTturKavp8DNCJc5Dvo=", - "zh:00be5fe6b337e52b2df94d0c0dbcd1f128178fce2ecfd8395335a2de87454d6f", - "zh:074e1356c81dd109e7af7236f04e8a457e85947932594aced13b6ecb46088eba", - "zh:30399ab3355c7e7fc4e4bf05878f942e5d115992327e34f6d29cd27a2386414e", - "zh:3bece2a7906dc5b46c253ccf1b61eba4c1cedef4c06228d1d5574eb4bbf30770", - "zh:5ec7663da565282f614459da4286db358cf845ee6131c6a7d9ec098c59d48892", - "zh:8143e0186cce84d111a3dbc3243a8861874a98c96f9064bc08360efdc95a9940", + "h1:7pd/XzGn1uU8dB2Q3p+OmNM0apgvNoziaQgV1GgqWxc=", + "h1:ETE198D4KRlETcvui15+a++IRnxSsOSk2X9FIBeare4=", + "h1:FIvrECEORerVTmuqslVWE/SnM1mZ9PUAPDh4zWrotMg=", + "h1:IMWtn8KU7Ee5fV6xtXcHFzd8gchEQ0G2zflh3ap4/hI=", + "h1:RDIV2kXgFdVL8oMxDzZMsiw1a1SIxqpg46F9GRuq/vQ=", + "h1:VMkW8FjFqUVGJ3AZaG8mb0MZpE6Gy8iVZ28LL6rJ8Pc=", + "h1:eWjEf8lM0rYz5dQ0OSN8GiBTFMjRypfZYdougdvaeZE=", + "h1:lqX/HzE1Egv3MpJX1gZvf9xym6J7nzbLoLHDWdAvrXc=", + "h1:oC1q2jDns+OSy1b6POZzcvXGHjsAm02PrQV2b/EsPrc=", + "h1:ol8kESoWenFzbD5mnSxGbtGtfIdlpd4/RwRQdZQHGww=", + "h1:pCKjLsAoSAlOhfnDiQfj/iaSD5dh3gakRz4P7v7sv4Q=", + "h1:tf9ViGy07GKQRHtPpD/q2Y83Jw3wxf6ChpzQvZPRNmE=", + "h1:zuVK81Q9A3kNE4K/U24O2IqyLZWIQkBrV8uzmrbqYPY=", + "zh:22aa92d9b7d62aed053a9fda804ed707f613ccf91b142069486d6fe60390d695", + "zh:2e1c40b509d87b04c7e06db5afef36b433e66219784cc4f89069467504b40a75", + "zh:33b58d18de6a6bbce957dccd88e667dab8dcce7182f2edc1ca65f9baef2678c4", + "zh:512be9f8c3b85bb3f2ae9c8e061ab6d8c4c2939a1e2e5189cba36cba08b22dd6", + "zh:554134e0765d52e5ac98428306afa5733ffea991832ae96e110c752a37426b7e", + "zh:72483db4a717cc605dcfcc141aa0003993cfced79374b4468d1674d41ecdf171", + "zh:7353bfb1484b6771145b03becf612921ec11ee1242467b4c1ab6a13936ad306b", + "zh:76be10c1b4912f5905df73d9c860e2a625e4963a55d5a9b57b24fae4f2c7bb81", "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", - "zh:8cd7408b52014347bc4434d10912034dbc888c82b2740c9659686b6d925b428a", - "zh:99609cff963348e048ed7a57346fcfe27bde9a4cb6e39f918e874765202fb1ba", - "zh:a0ecbad8896a6d93bcce67a18cdad5773cb780ec966f8fe8d2fcb89f69ef7feb", - "zh:bb47b00067c953499cbecc673cd8e713b7df5adc262071b79899e3799ddd07c4", - "zh:cf8164f7bc817f5b77b7d9a89861aad964b82e2e7793281af724b858dc6d426f", - "zh:eb6a9e7b3961feffb06fef6ca2b1f2af0c7b6461b1dccee58ead5b376dd44ebd", - "zh:f575cae4eb42d55a00e65f1f04f54bcae38de79321647f199a8fdf6b390ac507", - "zh:fa02d69a676baa6a6304a3a9ee7769c5c6e877d604bff6f9ca3d584ce77c0fea", + "zh:9d4d41c5b02ba5d15cdaae0e322f719d33f62c7317bf9547005b8601ef9853a6", + "zh:b0afb80c8113060ddd555ac8f051ddc8243df101986f851b277831b87a4ad084", + "zh:bce4c04dc2f06b129d957a83d500b3d70748018c5c2c7ddab2ded12319bf1ace", + "zh:caa1e4f2087141fa8b35c33b1957b73a8ecc6c507175703ae95509adb3bb5aaa", + "zh:e9e89b7a308225e649c1015c5bfcbf23feb49e1d6a3d94c9bd230124323bf1a2", ] } diff --git a/tofu/terraform.tfstate b/tofu/terraform.tfstate deleted file mode 100644 index 5b115a7..0000000 --- a/tofu/terraform.tfstate +++ /dev/null @@ -1,5081 +0,0 @@ -{ - "version": 4, - "terraform_version": "1.12.1", - "serial": 52, - "lineage": "aada9e42-4c37-f0e0-91fa-f89b3caac095", - "outputs": {}, - "resources": [ - { - "mode": "managed", - "type": "cloudflare_record", - "name": "aprs_me_dkim_resend", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrIhTzL7qrNSdbVOWG2WVwXpKrRrkHY4w/giB7JGl9Hj23z1qIQNh8aNyvDaC0Eosf1013TSWvS+bFMETc5kQZ6lQDq6pvZxHeKbAGH1FvUDVQ2uhjV77Qopf95SdoDKsod3hRnfn4kNZBQ2GfrbJmqobIsQRT8IHFA3XOjOn/jwIDAQAB", - "created_on": "2026-03-22T18:42:43.505797Z", - "data": [], - "hostname": "resend._domainkey.aprs.me", - "id": "24f990bae1462b16bd5ceaa14f351fcb", - "metadata": {}, - "modified_on": "2026-04-21T15:52:10.533145Z", - "name": "resend._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "09da59049b0ecad7b734ce3d902bf581" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "aprs_me_dmarc", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "v=DMARC1; p=none;", - "created_on": "2026-03-22T18:42:44.003775Z", - "data": [], - "hostname": "_dmarc.aprs.me", - "id": "b8fffe360ee182f08cc490bb93240a19", - "metadata": {}, - "modified_on": "2026-04-21T15:52:14.757936Z", - "name": "_dmarc", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "09da59049b0ecad7b734ce3d902bf581" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "aprs_me_mx_send", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "feedback-smtp.us-east-1.amazonses.com", - "created_on": "2026-03-22T18:39:33.038889Z", - "data": [], - "hostname": "send.aprs.me", - "id": "d9703f069f35a7ea288f5c5d0fa22e12", - "metadata": {}, - "modified_on": "2026-04-21T15:52:19.461846Z", - "name": "send", - "priority": 10, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "MX", - "value": null, - "zone_id": "09da59049b0ecad7b734ce3d902bf581" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "aprs_me_spf_send", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "v=spf1 include:amazonses.com ~all", - "created_on": "2026-03-22T18:42:44.348413Z", - "data": [], - "hostname": "send.aprs.me", - "id": "30b94ea865fe074f233d4f5c8191bc93", - "metadata": {}, - "modified_on": "2026-04-21T15:52:11.219498Z", - "name": "send", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "09da59049b0ecad7b734ce3d902bf581" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "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": "aprs_me_txt_yahoo_verification", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "yahoo-verification-key=FTNt+pQ6IU4l0gQZKNUu3jbVXAgUG/yzm4KVwDzahbE=", - "created_on": "2026-04-05T16:04:42.529775Z", - "data": [], - "hostname": "aprs.me", - "id": "345b3f65ea73df3f52c2cdb4b6b2c16b", - "metadata": {}, - "modified_on": "2026-04-21T15:52:01.270915Z", - "name": "aprs.me", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "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-04-21T15:52:16.465598Z", - "name": "aprs.me", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:15.460463Z", - "name": "aprs.me", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:15.009749Z", - "name": "aprs.me", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:14.486273Z", - "name": "aprs.me", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:15.701615Z", - "name": "gridmap.org", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:15.97079Z", - "name": "gridmap.org", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:16.293053Z", - "name": "gridmap.org", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:15.532655Z", - "name": "gridmap.org", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:04.734509Z", - "name": "dfw.poller", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:00.962254Z", - "name": "lon.poller", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:09.756737Z", - "name": "dfw.poller", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:09.996021Z", - "name": "lon.poller", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:04.947972Z", - "name": "autoconfig", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:05.973752Z", - "name": "autodiscover", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:09.233922Z", - "name": "2skkb53ep3vfbkdstfmm2elfthurggid._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:04.482805Z", - "name": "4uwsaywjpmk35j36pfiz4vr37dyy4v7z._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:05.487699Z", - "name": "l7lbifvot6nv3wwho5rs35xzqzzinz5f._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:05.735251Z", - "name": "mail", - "priority": 10, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:06.555149Z", - "name": "towerops.net", - "priority": 20, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:04.242718Z", - "name": "towerops.net", - "priority": 10, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:06.226714Z", - "name": "dkim._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:05.227056Z", - "name": "_dmarc", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:01.485926Z", - "name": "mail", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:09.463005Z", - "name": "towerops.net", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "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-04-21T15:52:19.21475Z", - "name": "_autodiscover._tcp", - "priority": 0, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "SRV", - "value": null, - "zone_id": "c275d35a8885de79ca8e61c17ac97ab6" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "towerops_txt_yahoo_verification", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "yahoo-verification-key=BWUc1N9CUklaviQyfIGHDwF35WGx3Dcvrag/JCZzyKM=", - "created_on": "2026-04-05T16:04:42.099823Z", - "data": [], - "hostname": "towerops.net", - "id": "8bc35fd96c233d2fe55e66bf9f7b1a7f", - "metadata": {}, - "modified_on": "2026-04-21T15:52:00.244814Z", - "name": "towerops.net", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "c275d35a8885de79ca8e61c17ac97ab6" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_a", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.223", - "created_on": "2026-04-21T18:54:53.583629Z", - "data": [], - "hostname": "a.w5isp.com", - "id": "7d3a72626eaa79930beae6d273d2a30f", - "metadata": {}, - "modified_on": "2026-04-21T18:54:53.583629Z", - "name": "a", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_aprs", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.232", - "created_on": "2026-04-02T14:06:18.392561Z", - "data": [], - "hostname": "aprs.w5isp.com", - "id": "87e845d5320d1820a734476dba167218", - "metadata": {}, - "modified_on": "2026-04-21T15:51:56.479255Z", - "name": "aprs", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_dokku", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.218", - "created_on": "2026-04-02T14:06:19.281045Z", - "data": [], - "hostname": "dokku.w5isp.com", - "id": "0e3c628249fb7573650ccb1edf49811d", - "metadata": {}, - "modified_on": "2026-04-21T15:51:55.547647Z", - "name": "dokku", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_feedback", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-16T15:07:23.063146Z", - "data": [], - "hostname": "feedback.w5isp.com", - "id": "ea6ffd51d67ee55b9a77d2eb3da2ee61", - "metadata": {}, - "modified_on": "2026-04-21T15:51:49.521582Z", - "name": "feedback", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_home", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.1", - "created_on": "2026-04-02T14:06:15.244348Z", - "data": [], - "hostname": "home.w5isp.com", - "id": "18a4d85c18f92e45ae3d2675b032465a", - "metadata": {}, - "modified_on": "2026-04-21T15:51:49.447109Z", - "name": "home", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_log", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-02T14:06:14.052402Z", - "data": [], - "hostname": "log.w5isp.com", - "id": "048204054450efd6fafd7f724474569e", - "metadata": {}, - "modified_on": "2026-04-21T15:51:49.985494Z", - "name": "log", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_mail", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "107.174.178.20", - "created_on": "2026-04-02T14:06:23.560496Z", - "data": [], - "hostname": "mail.w5isp.com", - "id": "520874ed2607ed83588fb9dbd75369d8", - "metadata": {}, - "modified_on": "2026-04-21T15:52:00.724488Z", - "name": "mail", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_photos", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-02T14:06:27.418797Z", - "data": [], - "hostname": "photos.w5isp.com", - "id": "8caad9c378c461e94a6b3a59a7ce2594", - "metadata": {}, - "modified_on": "2026-04-21T15:51:51.494236Z", - "name": "photos", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_root", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-02T14:06:17.035481Z", - "data": [], - "hostname": "w5isp.com", - "id": "f6f84e5592cdf25b55c8d699d6ae6d25", - "metadata": {}, - "modified_on": "2026-04-21T15:51:59.220451Z", - "name": "w5isp.com", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_skippy", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-02T14:06:12.862456Z", - "data": [], - "hostname": "skippy.w5isp.com", - "id": "f83ed251d832c6bb37b37d31c0bf150e", - "metadata": {}, - "modified_on": "2026-04-21T15:51:54.202086Z", - "name": "skippy", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_srtm", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-03T20:52:26.683582Z", - "data": [], - "hostname": "srtm.w5isp.com", - "id": "c6436a11755eb77672cdd979f77d66f2", - "metadata": {}, - "modified_on": "2026-04-21T15:51:51.283291Z", - "name": "srtm", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_vaprs", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "204.110.191.8", - "created_on": "2026-04-02T14:06:22.188637Z", - "data": [], - "hostname": "vaprs.w5isp.com", - "id": "884c3de9a569db02ef174a4a826b0ffb", - "metadata": {}, - "modified_on": "2026-04-21T15:51:59.974352Z", - "name": "vaprs", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_a_vm1", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "172.245.56.83", - "created_on": "2026-04-02T14:06:19.276559Z", - "data": [], - "hostname": "vm1.w5isp.com", - "id": "08f81b443015c20431a2a1d4442ee788", - "metadata": {}, - "modified_on": "2026-04-21T15:51:54.963499Z", - "name": "vm1", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "A", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_caa", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "index_key": "letsencrypt.org", - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "0 issue \"letsencrypt.org\"", - "created_on": "2026-04-02T14:06:26.836908Z", - "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": "w5isp.com", - "id": "21647a40a6abbd7d21d61b33e1f6d365", - "metadata": {}, - "modified_on": "2026-04-21T15:52:10.253725Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CAA", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - }, - { - "index_key": "pki.goog", - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "0 issue \"pki.goog\"", - "created_on": "2026-04-02T14:06:26.129765Z", - "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": "w5isp.com", - "id": "5c032b1f20217205c28f234723f38f6d", - "metadata": {}, - "modified_on": "2026-04-21T15:52:10.760655Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CAA", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - }, - { - "index_key": "sectigo.com", - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "0 issue \"sectigo.com\"", - "created_on": "2026-04-02T14:06:26.165591Z", - "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": "w5isp.com", - "id": "f6c4cf4164ebec4de0361f4384e4fcda", - "metadata": {}, - "modified_on": "2026-04-21T15:52:11.455021Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CAA", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - }, - { - "index_key": "ssl.com", - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "0 issue \"ssl.com\"", - "created_on": "2026-04-02T14:06:25.011492Z", - "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": "w5isp.com", - "id": "54430a9e8094480559884dad7549cad3", - "metadata": {}, - "modified_on": "2026-04-21T15:52:10.979011Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CAA", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_acme_ha", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "_acme-challenge.q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa", - "created_on": "2026-05-04T21:59:02.980336Z", - "data": [], - "hostname": "_acme-challenge.ha.w5isp.com", - "id": "5872ec952a2c07789bb267160aabdf08", - "metadata": {}, - "modified_on": "2026-05-04T21:59:02.980336Z", - "name": "_acme-challenge.ha", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": null, - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_argo", - "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-04-29T15:17:31.508467Z", - "data": [], - "hostname": "argo.w5isp.com", - "id": "0192429c94cc63183074d9e53eaa3031", - "metadata": {}, - "modified_on": "2026-04-29T15:17:31.508467Z", - "name": "argo", - "priority": null, - "proxiable": true, - "proxied": true, - "tags": [], - "timeouts": null, - "ttl": 1, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_autoconfig", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "mail.w5isp.com", - "created_on": "2026-04-02T14:06:21.732505Z", - "data": [], - "hostname": "autoconfig.w5isp.com", - "id": "1d722c6c12994825d2d6f895e3a11696", - "metadata": {}, - "modified_on": "2026-04-21T15:51:49.716656Z", - "name": "autoconfig", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_autodiscover", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "mail.w5isp.com", - "created_on": "2026-04-02T14:06:16.92855Z", - "data": [], - "hostname": "autodiscover.w5isp.com", - "id": "404d21e9dab3b27f53b906c63dc4bf7a", - "metadata": {}, - "modified_on": "2026-04-21T15:51:50.251253Z", - "name": "autodiscover", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_bird", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "bd9fe980-86d1-4b62-8a35-65ed529696f1.cfargotunnel.com", - "created_on": "2026-06-01T15:43:33.806486Z", - "data": [], - "hostname": "bird.w5isp.com", - "id": "6002361d5fca67c6bce5cf7399b602f2", - "metadata": {}, - "modified_on": "2026-06-01T15:43:33.806486Z", - "name": "bird", - "priority": null, - "proxiable": true, - "proxied": true, - "tags": null, - "timeouts": null, - "ttl": 1, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_dkim_s1", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "s1.domainkey.u177982.wl233.sendgrid.net", - "created_on": "2026-04-02T14:06:28.157284Z", - "data": [], - "hostname": "s1._domainkey.w5isp.com", - "id": "24fafb63b0f43ee893251b414d9f1b55", - "metadata": {}, - "modified_on": "2026-04-21T15:52:14.212781Z", - "name": "s1._domainkey", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_dkim_s2", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "s2.domainkey.u177982.wl233.sendgrid.net", - "created_on": "2026-04-02T14:06:17.089449Z", - "data": [], - "hostname": "s2._domainkey.w5isp.com", - "id": "dfd31136bdce789b2aa3fb9b05619e21", - "metadata": {}, - "modified_on": "2026-04-21T15:51:55.226637Z", - "name": "s2._domainkey", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_dkim_s977211", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "dkim.smtp2go.net", - "created_on": "2026-04-12T18:54:35.493596Z", - "data": [], - "hostname": "s977211._domainkey.w5isp.com", - "id": "9fda5d81053ae9ef1d94be742c8a35e4", - "metadata": {}, - "modified_on": "2026-04-21T15:51:55.735647Z", - "name": "s977211._domainkey", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_em40", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "u177982.wl233.sendgrid.net", - "created_on": "2026-04-02T14:06:16.614044Z", - "data": [], - "hostname": "em40.w5isp.com", - "id": "d1aaf9b647b4d841d7fd42620cab2987", - "metadata": {}, - "modified_on": "2026-04-21T15:51:50.994697Z", - "name": "em40", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_em977211", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "return.smtp2go.net", - "created_on": "2026-04-12T18:54:35.844979Z", - "data": [], - "hostname": "em977211.w5isp.com", - "id": "b0cea89d4d2b26b2f24015557c2ed5c4", - "metadata": {}, - "modified_on": "2026-04-21T15:51:54.758329Z", - "name": "em977211", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_ha", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "q1l09qiycnaagngmjsg1qas0rhqcfoou.ui.nabu.casa", - "created_on": "2026-05-04T21:59:02.839077Z", - "data": [], - "hostname": "ha.w5isp.com", - "id": "15f42c229b7c19e671ed93e0c87deb3f", - "metadata": {}, - "modified_on": "2026-05-04T21:59:02.839077Z", - "name": "ha", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": null, - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_link", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "track.smtp2go.net", - "created_on": "2026-04-12T18:54:35.34311Z", - "data": [], - "hostname": "link.w5isp.com", - "id": "32d34f5d11cdddb1570d30796021c461", - "metadata": {}, - "modified_on": "2026-04-21T15:51:59.494832Z", - "name": "link", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_prop", - "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-04-02T14:20:37.230545Z", - "data": [], - "hostname": "prop.w5isp.com", - "id": "96e55d23762bfd15a25dc2bbd7be7b04", - "metadata": {}, - "modified_on": "2026-04-06T14:36:57.733113Z", - "name": "prop", - "priority": null, - "proxiable": true, - "proxied": true, - "tags": [], - "timeouts": null, - "ttl": 1, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_cname_uptime", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "stats.uptimerobot.com", - "created_on": "2026-04-02T14:06:22.317518Z", - "data": [], - "hostname": "uptime.w5isp.com", - "id": "72197c8770f7280c9ce89673067060a9", - "metadata": {}, - "modified_on": "2026-04-21T15:51:50.902548Z", - "name": "uptime", - "priority": null, - "proxiable": true, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "CNAME", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_mx_root", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "mail.w5isp.com", - "created_on": "2026-04-02T14:06:21.130095Z", - "data": [], - "hostname": "w5isp.com", - "id": "8e7448b307bc9244c82529f6f2e38080", - "metadata": {}, - "modified_on": "2026-04-21T15:51:55.963199Z", - "name": "w5isp.com", - "priority": 10, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "MX", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_srv_autodiscover", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "0 443 mail.w5isp.com", - "created_on": "2026-04-02T14:06:28.681833Z", - "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.w5isp.com", - "type": 0, - "usage": 0, - "value": "", - "weight": 0 - } - ], - "hostname": "_autodiscover._tcp.w5isp.com", - "id": "6e258d3c8c69cffc185094b231aba775", - "metadata": {}, - "modified_on": "2026-04-21T15:51:54.489052Z", - "name": "_autodiscover._tcp", - "priority": 0, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "SRV", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_txt_dkim", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxti2t8TvzIqKF9BpKn3rQExKg3sS1SyQuwtQgL0r/ELEJ0D9cKU/iM+eB1ROJctKHoMqKDJoRCMP6eibFcgq2kLKqf+aceEOIBx2OK2WCXML+CNqQZA6yO+A8/Jq7iFZPq8D5FmOoxbwRZkso7CkSennSz/+F7nBPI/OfyEiiI4xJzWH3t8SaAkkcy46O+1K0iCkTpsthon7E2PHa3SPkrjbep/5NImTJLK5LuffiLJtLsiK+73mvsAYCDmrNxPTaDjXkj0TWdKl/d/TnlVJl+YloqWIDt/7LtZQM0C7GZ9flIr7z9hHpSWERXAA5Gj5NQ0/hcY3nF4dPoqWs3VeeQIDAQAB", - "created_on": "2026-04-02T14:06:15.946878Z", - "data": [], - "hostname": "dkim._domainkey.w5isp.com", - "id": "0c2c7f18669ff67d6cb47102b8191be6", - "metadata": {}, - "modified_on": "2026-04-21T15:51:56.453285Z", - "name": "dkim._domainkey", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_txt_dmarc", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "v=DMARC1; p=quarantine; rua=mailto:postmaster@w5isp.com; ruf=mailto:postmaster@w5isp.com; fo=1", - "created_on": "2026-04-02T14:06:24.166924Z", - "data": [], - "hostname": "_dmarc.w5isp.com", - "id": "973cddeaa4c01545cd5b812c80086999", - "metadata": {}, - "modified_on": "2026-04-21T15:51:50.532362Z", - "name": "_dmarc", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_txt_spf", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "v=spf1 mx a ip4:107.174.178.20 ~all", - "created_on": "2026-04-02T14:06:24.559669Z", - "data": [], - "hostname": "w5isp.com", - "id": "6cdd378db2552bebb315c3be87641a91", - "metadata": {}, - "modified_on": "2026-04-21T15:51:59.745372Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_record", - "name": "w5isp_txt_yahoo_verification", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 3, - "attributes": { - "allow_overwrite": false, - "comment": "", - "content": "yahoo-verification-key=CX5h64q8On4rlR/1/DCyvASxTv3rlDmDcNQhwSapyk4=", - "created_on": "2026-04-05T16:04:41.75401Z", - "data": [], - "hostname": "w5isp.com", - "id": "eb49730b25b034d05ad78eddffeef234", - "metadata": {}, - "modified_on": "2026-04-21T15:52:00.502219Z", - "name": "w5isp.com", - "priority": null, - "proxiable": false, - "proxied": false, - "tags": [], - "timeouts": null, - "ttl": 86400, - "type": "TXT", - "value": null, - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMyJ9", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "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": "skip", - "action_parameters": [ - { - "additional_cacheable_ports": null, - "algorithms": [], - "automatic_https_rewrites": null, - "autominify": [], - "bic": null, - "browser_ttl": [], - "cache": null, - "cache_key": [], - "cache_reserve": [], - "content": null, - "content_type": null, - "cookie_fields": null, - "disable_apps": null, - "disable_railgun": null, - "disable_rum": null, - "disable_zaraz": null, - "edge_ttl": [], - "email_obfuscation": null, - "fonts": null, - "from_list": [], - "from_value": [], - "headers": [], - "host_header": null, - "hotlink_protection": null, - "id": null, - "increment": null, - "matched_data": [], - "mirage": null, - "opportunistic_encryption": null, - "origin": [], - "origin_cache_control": null, - "origin_error_page_passthru": null, - "overrides": [], - "phases": null, - "polish": null, - "products": null, - "read_timeout": null, - "request_fields": null, - "respect_strong_etags": null, - "response": [], - "response_fields": null, - "rocket_loader": null, - "rules": null, - "ruleset": "current", - "rulesets": null, - "security_level": null, - "serve_stale": [], - "server_side_excludes": null, - "sni": [], - "ssl": null, - "status_code": null, - "sxg": null, - "uri": [] - } - ], - "description": "allow agent websocket connections", - "enabled": true, - "exposed_credential_check": [], - "expression": "(http.request.uri.path eq \"/socket/agent/websocket\")", - "id": "9016d5312697421c8687a7389f4a4a4d", - "logging": [ - { - "enabled": false - } - ], - "ratelimit": [], - "ref": "9016d5312697421c8687a7389f4a4a4d" - }, - { - "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": "2c5dccdb7aed4c18aaf8532fd19275eb", - "logging": [], - "ratelimit": [], - "ref": "2c5dccdb7aed4c18aaf8532fd19275eb" - } - ], - "zone_id": "c275d35a8885de79ca8e61c17ac97ab6" - }, - "sensitive_attributes": [], - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_ruleset", - "name": "towerops_response_headers", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "account_id": null, - "description": "", - "id": "42c16a72df094f6d991d532056ca5bbb", - "kind": "zone", - "name": "default", - "phase": "http_response_headers_transform", - "rules": [ - { - "action": "rewrite", - "action_parameters": [ - { - "additional_cacheable_ports": null, - "algorithms": [], - "automatic_https_rewrites": null, - "autominify": [], - "bic": null, - "browser_ttl": [], - "cache": null, - "cache_key": [], - "cache_reserve": [], - "content": null, - "content_type": null, - "cookie_fields": null, - "disable_apps": null, - "disable_railgun": null, - "disable_rum": null, - "disable_zaraz": null, - "edge_ttl": [], - "email_obfuscation": null, - "fonts": null, - "from_list": [], - "from_value": [], - "headers": [ - { - "expression": null, - "name": "Content-Security-Policy", - "operation": "set", - "value": "default-src 'self' data:; script-src 'self' 'unsafe-inline' https://a.w5isp.com; style-src 'self' 'unsafe-inline' 'unsafe-hashes'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' ws: wss: https://a.w5isp.com; frame-ancestors 'none'" - } - ], - "host_header": null, - "hotlink_protection": null, - "id": null, - "increment": null, - "matched_data": [], - "mirage": null, - "opportunistic_encryption": null, - "origin": [], - "origin_cache_control": null, - "origin_error_page_passthru": null, - "overrides": [], - "phases": null, - "polish": null, - "products": null, - "read_timeout": null, - "request_fields": null, - "respect_strong_etags": null, - "response": [], - "response_fields": null, - "rocket_loader": null, - "rules": null, - "ruleset": null, - "rulesets": null, - "security_level": null, - "serve_stale": [], - "server_side_excludes": null, - "sni": [], - "ssl": null, - "status_code": null, - "sxg": null, - "uri": [] - } - ], - "description": "set CSP for towerops.net", - "enabled": true, - "exposed_credential_check": [], - "expression": "true", - "id": "839f290765b840b4901bc162bc2180ba", - "logging": [], - "ratelimit": [], - "ref": "839f290765b840b4901bc162bc2180ba" - } - ], - "zone_id": "c275d35a8885de79ca8e61c17ac97ab6" - }, - "sensitive_attributes": [], - "dependencies": [ - "cloudflare_zone.zones" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_ruleset", - "name": "w5isp_firewall", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 1, - "attributes": { - "account_id": null, - "description": "", - "id": "e9c91e0c52e64f9daeee6d24c34fd4c7", - "kind": "zone", - "name": "default", - "phase": "http_request_firewall_custom", - "rules": [ - { - "action": "skip", - "action_parameters": [ - { - "additional_cacheable_ports": null, - "algorithms": [], - "automatic_https_rewrites": null, - "autominify": [], - "bic": null, - "browser_ttl": [], - "cache": null, - "cache_key": [], - "cache_reserve": [], - "content": null, - "content_type": null, - "cookie_fields": null, - "disable_apps": null, - "disable_railgun": null, - "disable_rum": null, - "disable_zaraz": null, - "edge_ttl": [], - "email_obfuscation": null, - "fonts": null, - "from_list": [], - "from_value": [], - "headers": [], - "host_header": null, - "hotlink_protection": null, - "id": null, - "increment": null, - "matched_data": [], - "mirage": null, - "opportunistic_encryption": null, - "origin": [], - "origin_cache_control": null, - "origin_error_page_passthru": null, - "overrides": [], - "phases": null, - "polish": null, - "products": null, - "read_timeout": null, - "request_fields": null, - "respect_strong_etags": null, - "response": [], - "response_fields": null, - "rocket_loader": null, - "rules": null, - "ruleset": "current", - "rulesets": null, - "security_level": null, - "serve_stale": [], - "server_side_excludes": null, - "sni": [], - "ssl": null, - "status_code": null, - "sxg": null, - "uri": [] - } - ], - "description": "skip WAF for birdnet UI", - "enabled": true, - "exposed_credential_check": [], - "expression": "(http.host eq \"bird.w5isp.com\")", - "id": "0cc173985dae4baf8bb1f7ef70383a9b", - "logging": [ - { - "enabled": false - } - ], - "ratelimit": [], - "ref": "0cc173985dae4baf8bb1f7ef70383a9b" - }, - { - "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": "70e4cb7c55c64a9394946c2559b62162", - "logging": [], - "ratelimit": [], - "ref": "70e4cb7c55c64a9394946c2559b62162" - } - ], - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8" - }, - "sensitive_attributes": [], - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "cloudflare_zero_trust_tunnel_cloudflared_config", - "name": "birdnet", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "account_id": "4d18148a82b0a91f289afbbd2944a603", - "config": [ - { - "ingress_rule": [ - { - "hostname": "bird.w5isp.com", - "origin_request": [], - "path": "", - "service": "http://localhost:80" - }, - { - "hostname": "", - "origin_request": [], - "path": "", - "service": "http_status:404" - } - ], - "origin_request": [], - "warp_routing": [] - } - ], - "id": "bd9fe980-86d1-4b62-8a35-65ed529696f1", - "tunnel_id": "bd9fe980-86d1-4b62-8a35-65ed529696f1" - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "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": "prop.w5isp.com", - "origin_request": [], - "path": "", - "service": "http://prop.prop.svc.cluster.local:5000" - }, - { - "hostname": "argo.w5isp.com", - "origin_request": [], - "path": "", - "service": "http://argocd-server.argocd.svc.cluster.local:80" - }, - { - "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": "bnVsbA==" - } - ] - }, - { - "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": "w5isp_com", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "account_id": "4d18148a82b0a91f289afbbd2944a603", - "id": "fe8034d3cee6f0b28b51b3ba6a35b7a8", - "jump_start": null, - "meta": { - "phishing_detected": false, - "wildcard_proxiable": false - }, - "name_servers": [ - "dan.ns.cloudflare.com", - "eva.ns.cloudflare.com" - ], - "paused": false, - "plan": "free", - "status": "active", - "type": "full", - "vanity_name_servers": [], - "verification_key": "", - "zone": "w5isp.com" - }, - "sensitive_attributes": [], - "private": "bnVsbA==" - } - ] - }, - { - "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": "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": "", - "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": "cloudflare_zone_settings_override", - "name": "w5isp_com", - "provider": "provider[\"registry.opentofu.org/cloudflare/cloudflare\"]", - "instances": [ - { - "schema_version": 2, - "attributes": { - "id": "fe8034d3cee6f0b28b51b3ba6a35b7a8", - "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-04-02T14:06:34.728358Z", - "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": "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": "", - "websockets": "on", - "zero_rtt": "on" - } - ], - "zone_id": "fe8034d3cee6f0b28b51b3ba6a35b7a8", - "zone_status": "active", - "zone_type": "full" - }, - "sensitive_attributes": [], - "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", - "dependencies": [ - "cloudflare_zone.w5isp_com" - ] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "ammocpr_com_a_root", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "204.110.191.231", - "domain": "ammocpr.com", - "id": 529716883, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "gunincrements_com_a_root", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "204.110.191.216", - "domain": "gunincrements.com", - "id": 484158621, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_ca", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "167.114.209.151", - "domain": "manero.org", - "id": 529396999, - "notes": "", - "prio": 0, - "subdomain": "ca", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_irc", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "149.28.242.178", - "domain": "manero.org", - "id": 529396990, - "notes": "", - "prio": 0, - "subdomain": "irc", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_root_1", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "185.199.108.153", - "domain": "manero.org", - "id": 529396998, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_root_2", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "185.199.109.153", - "domain": "manero.org", - "id": 529396984, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_root_3", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "185.199.110.153", - "domain": "manero.org", - "id": 529396983, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_root_4", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "185.199.111.153", - "domain": "manero.org", - "id": 529396986, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_tankfox", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "137.184.202.89", - "domain": "manero.org", - "id": 529396993, - "notes": "", - "prio": 0, - "subdomain": "tankfox", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_a_us", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "149.28.242.178", - "domain": "manero.org", - "id": 529396987, - "notes": "", - "prio": 0, - "subdomain": "us", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_aaaa_us", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "2001:19f0:6401:19e6:5400:5ff:fe45:5701", - "domain": "manero.org", - "id": 529396985, - "notes": "", - "prio": 0, - "subdomain": "us", - "ttl": 86400, - "type": "AAAA" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "manero_org_cname_404", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "404.al.", - "domain": "manero.org", - "id": 529396992, - "notes": "", - "prio": 0, - "subdomain": "404", - "ttl": 86400, - "type": "CNAME" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "qth_social_a_root", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "204.110.191.203", - "domain": "qth.social", - "id": 459905532, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "A" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "qth_social_aaaa_root", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "2606:1c80::203", - "domain": "qth.social", - "id": 459905441, - "notes": "", - "prio": 0, - "subdomain": "", - "ttl": 86400, - "type": "AAAA" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_dns_record", - "name": "qth_social_cname_email_mastodon", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "schema_version": 0, - "attributes": { - "content": "mailgun.org", - "domain": "qth.social", - "id": 459905533, - "notes": "", - "prio": 0, - "subdomain": "email.mastodon", - "ttl": 86400, - "type": "CNAME" - }, - "sensitive_attributes": [] - } - ] - }, - { - "mode": "managed", - "type": "porkbun_nameservers", - "name": "domains", - "provider": "provider[\"registry.opentofu.org/marcfrederick/porkbun\"]", - "instances": [ - { - "index_key": "ammocpr.com", - "schema_version": 0, - "attributes": { - "domain": "ammocpr.com", - "nameservers": [ - "curitiba.ns.porkbun.com", - "fortaleza.ns.porkbun.com", - "maceio.ns.porkbun.com", - "salvador.ns.porkbun.com" - ] - }, - "sensitive_attributes": [] - }, - { - "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": [ - "curitiba.ns.porkbun.com", - "fortaleza.ns.porkbun.com", - "maceio.ns.porkbun.com", - "salvador.ns.porkbun.com" - ] - }, - "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": [ - "dan.ns.cloudflare.com", - "eva.ns.cloudflare.com" - ] - }, - "sensitive_attributes": [] - } - ] - } - ], - "check_results": null -} -