Files
zeekayandHanzo Dev 425b96f66e the cluster is named, not addressed by a gone account
Every provenance line and manifest still named a DigitalOcean context, and
the ARC values described a pool that died with it. A cluster gets a name
here; the address it answers on belongs to the private record.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-16 16:15:33 -07:00

158 lines
4.8 KiB
YAML

---
###############################################################################
# IngressRoutes: app chain EVM chain explorers (Mainnet)
# Each chain gets frontend SPA + per-brand API routing rules.
# TLS via hanzoai/ingress ACME certResolver with Cloudflare DNS challenge.
#
# NOTE: Must use hanzo.ai/v1alpha1 IngressRoute CRD (NOT standard K8s Ingress).
# lux-k8s uses hanzo.ai CRD group.
#
# DNS: *.lux.network wildcard A record -> 134.199.138.27 (lux-k8s hanzoai/ingress LB)
# DNS-only (not proxied).
# Cluster: lux-k8s (lux-k8s)
# Ingress: hanzo-ingress DaemonSet in lux-system namespace
#
# API backend: explorer-unified (ExternalName in lux-mainnet -> explorer-mainnet-v2
# in lux-explorer ns:8090). Unified Go explorer indexes every brand into per-slug
# SQLite; brand dispatch via /v1/indexer/{slug} prefix added by blockscout-prefix-{slug}
# Middleware.
#
# Domains per chain:
# Zoo: explore-zoo.lux.network + explore.zoo.network + explore.zoo.ngo
# Hanzo: explore-hanzo.lux.network + explore.hanzo.network + explore.hanzo.ai
# SPC: explore-spc.lux.network
# Pars: explore-pars.lux.network + explore.pars.network
###############################################################################
###############################################################################
# Zoo Explorer
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-zoo
namespace: lux-mainnet
labels:
app: lux-explorer
chain: zoo
network: mainnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-zoo.lux.network`) || Host(`explore.zoo.network`) || Host(`explore.zoo.ngo`)
services:
- name: lux-frontend-zoo
port: 3000
- kind: Rule
match: Host(`api-explore-zoo.lux.network`) || Host(`api-explore.zoo.network`) || Host(`api-explore.zoo.ngo`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-zoo
- name: cors-allow-all
services:
- name: explorer-unified
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# Hanzo Explorer
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-hanzo
namespace: lux-mainnet
labels:
app: lux-explorer
chain: hanzo
network: mainnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-hanzo.lux.network`) || Host(`explore.hanzo.network`) || Host(`explore.hanzo.ai`)
services:
- name: lux-frontend-hanzo
port: 3000
- kind: Rule
match: Host(`api-explore-hanzo.lux.network`) || Host(`api-explore.hanzo.network`) || Host(`api-explore.hanzo.ai`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-hanzo
- name: cors-allow-all
services:
- name: explorer-unified
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# SPC Explorer
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-spc
namespace: lux-mainnet
labels:
app: lux-explorer
chain: spc
network: mainnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-spc.lux.network`)
services:
- name: lux-frontend-spc
port: 3000
- kind: Rule
match: Host(`api-explore-spc.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-spc
- name: cors-allow-all
services:
- name: explorer-unified
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# Pars Explorer
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-pars
namespace: lux-mainnet
labels:
app: lux-explorer
chain: pars
network: mainnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-pars.lux.network`) || Host(`explore.pars.network`)
services:
- name: lux-frontend-pars
port: 3000
- kind: Rule
match: Host(`api-explore-pars.lux.network`) || Host(`api-explore.pars.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-pars
- name: cors-allow-all
services:
- name: explorer-unified
port: 8090
tls:
certResolver: letsencrypt