Files
dns/zones/pars-network.yaml
zeekayandHanzo Dev 0f95eb4d27 zones: retire iam.zoo.network and iam.pars.network to NXDOMAIN
Both were A records at 134.199.138.27, the lux-k8s LB — a cluster with no
config for either host. Every TLS handshake got CN=INGRESS DEFAULT CERT and
browsers hard-failed. They had been that way since 2026-03-06, so nothing
could ever have depended on them working.

There is no iam.<brand> host in the design. Each brand has ONE identity origin
serving the login SPA at / and the IAM API at /v1/iam, /oauth, /.well-known —
zoolabs.id for Zoo, pars.id for Pars, each aliased by id.<brand>.network — and
its discovery doc reports that same origin as the issuer. iam.hanzo.ai is the
one legacy IAM host, kept because the shared Google/GitHub OAuth clients
register exactly one callback against it.

The one client that referenced iam.zoo.network — Zoo Exchange's SPA_IAM_HOST,
shipped to browsers in zoo.exchange/config.json — now points at zoolabs.id
(luxfi/universe 1b35b5d9). The orphaned hanzo/iam-multi Ingress that claimed
these hosts, which never registered a router because it set
spec.ingressClassName instead of the kubernetes.io/ingress.class annotation,
is deleted from do-sfo3-hanzo-k8s.

Retiring to NXDOMAIN follows this subsystem's own precedent for a host that
should not exist (zoo.id, per hanzoai/universe crs/iam.yaml).

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 11:30:48 -07:00

91 lines
1.9 KiB
YAML

# pars-network.yaml — Cloudflare zone config for pars.network
# Zone ID: 83fa188f7872fba1077981000498ea42
# Source of truth for pars.network DNS records
# Last synced: 2026-03-12
---
zone: pars.network
zone_id: "83fa188f7872fba1077981000498ea42"
records:
- type: A
name: api-explore
content: "134.199.138.27"
proxied: false
- type: A
name: bridge
content: "134.199.138.27"
proxied: false
- type: A
name: cloud-api
content: "134.199.138.27"
proxied: false
- type: A
name: explore
content: "134.199.138.27"
proxied: false
# NO `iam` record — same retirement as zoo.network's. Pars's identity origin
# is pars.id, aliased by id.pars.network; both serve the login SPA at / and
# the IAM API at /v1/iam, /oauth, /.well-known. There is no iam.<brand> host
# in the design. `iam` pointed at the lux-k8s LB 134.199.138.27, which had no
# config for it, so it served CN=INGRESS DEFAULT CERT and hard-failed TLS.
# Retired to NXDOMAIN. Do not re-add it.
- type: A
name: mpc-api
content: "134.199.138.27"
proxied: false
- type: A
name: "@"
content: "185.199.111.153"
proxied: true
- type: A
name: "@"
content: "185.199.110.153"
proxied: true
- type: A
name: "@"
content: "185.199.109.153"
proxied: true
- type: A
name: "@"
content: "185.199.108.153"
proxied: true
- type: A
name: status
content: "24.199.77.209"
proxied: true
- type: AAAA
name: cdn
content: "100::"
proxied: true
- type: CNAME
name: explorer
content: "explore.pars.network"
proxied: true
- type: CNAME
name: pips
content: "parsdao.github.io"
proxied: true
- type: TXT
name: "_acme-challenge.api-explore"
content: 'nJk82FDsnjCw28hqhVmgIRsvw_6Y5yC2cYhXOhuT2Tk'
ttl: 120
- type: TXT
name: "_acme-challenge.explore"
content: 'zW6uFdOx69GFDJl0dhqwpX79lvyxQbw6WMRumhGeT9E'
ttl: 120