explorer: route api-explore-{hanzo,zoo,spc,pars}.lux.network → explorer-unified:8090
Brand explorer API hosts were targeting dead per-brand services
(explorer-{brand}:4000) replaced by unified Go indexer at
explorer-mainnet-v2:8090 (lux-explorer ns). Cross-ns via existing
explorer-unified ExternalName Service in lux-mainnet ns.
Adds brand-prefix middleware chain (mainpage-rewrite +
blockscout-prefix-{brand} + cors-allow-all) so unified backend
dispatches to per-slug SQLite via /v1/indexer/{brand} prefix —
same pattern as lux-explorer/lux-explorer-mainnet-chains for X/P/D.
Verified: api-explore-hanzo.lux.network now hits unified backend
(content-security-policy header present); 404 on /v1/indexer/hanzo
expected until per-brand indexer pods come up (chain-layer work).
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
###############################################################################
|
||||
# IngressRoutes: app chain EVM chain explorers (Mainnet)
|
||||
# Each chain gets frontend + API backend routing rules.
|
||||
# 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).
|
||||
@@ -12,6 +12,11 @@
|
||||
# Cluster: lux-k8s (do-sfo3-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
|
||||
@@ -42,9 +47,13 @@ spec:
|
||||
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-zoo
|
||||
port: 4000
|
||||
- name: explorer-unified
|
||||
port: 8090
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
---
|
||||
@@ -71,9 +80,13 @@ spec:
|
||||
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-hanzo
|
||||
port: 4000
|
||||
- name: explorer-unified
|
||||
port: 8090
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
---
|
||||
@@ -100,9 +113,13 @@ spec:
|
||||
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-spc
|
||||
port: 4000
|
||||
- name: explorer-unified
|
||||
port: 8090
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
---
|
||||
@@ -129,8 +146,12 @@ spec:
|
||||
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-pars
|
||||
port: 4000
|
||||
- name: explorer-unified
|
||||
port: 8090
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
Reference in New Issue
Block a user