Files
zeekay e41e0fa066 k8s: strip {brand}fix-suffix from chain aliases and references
The fix-suffix workaround (hanzofix/zoofix/spcfix/parsfix) is dead.
luxfi/genesis bootstrap-chain now derives the P-chain CreateChainTx
name from canonical genesis content (commit 3a072e7 there), so
re-bootstraps are idempotent and never collide on P-chain. The
user-facing brand identifier ("hanzo", "zoo", "spc", "pars") lives
exclusively at this chain-aliases ConfigMap layer.

Per-cluster changes:
- lux-testnet + lux-devnet chain-aliases.yaml: alias map now has
  only brand names; legacy "fix" suffix removed. BIDs point at the
  current live backing chains (live cluster CMs already updated via
  kubectl apply 2026-06-02).
- testnet explorer.yaml: stale "re-bootstrapped as zoofix" comment
  removed (the comment leaked a workaround name into config).
- testnet ingress-chains.yaml: "backed by zoofix chain" → "backed
  by blockchain ID LXuiihy…WeQ".
- testnet network.yaml, api-gateway-gateway-config.yaml,
  dead-chains-cm.yaml, lux-indexer.yaml: comments updated to refer
  to live BIDs/aliases instead of stale fix-suffix names.
- lux-mainnet/lux-indexer.yaml: stale "parsv4/spcv4/zoofix" example
  list removed.
- lux-k8s/api-gateway/ingresses.yaml: "LXuiihy... zoofix dormant"
  note rewritten to reflect promotion to live zoo backing chain.
- lux-k8s/validators/crd-resources.yaml: indexer-zoo CR no longer
  sets chainAlias: zoofix or routes /ext/bc/zoofix/rpc; routes
  /ext/bc/LXuiihy…WeQ/rpc + relies on alias resolution for /zoo/rpc.

No BID changes here — only naming hygiene. Live cluster CM updates
were applied imperatively on 2026-06-02 (chain-aliases + explorer-
chains in lux-testnet and lux-devnet namespaces).
2026-06-02 20:53:37 -07:00

254 lines
6.6 KiB
YAML

---
###############################################################################
# IngressRoutes: app chain EVM chain explorers (Testnet)
#
# Domain convention mirrors mainnet:
# explore-{chain}-test.lux.network -> unified explorer SPA (explorer:80)
# api-explore-{chain}-test.lux.network -> unified explorer API (explorer:8090)
#
# The unified explorer (ghcr.io/luxfi/explorer:1.2.11) serves both the SPA
# and the per-chain indexer API from the same Go binary. The blockscout-prefix-*
# middlewares (defined below in this file) add the /v1/indexer/{slug} prefix
# to API requests so the explorer's slug dispatcher routes to the right
# per-chain SQLite database.
#
# TLS via hanzoai/ingress ACME certResolver with Cloudflare DNS challenge.
# DNS: *.lux.network wildcard A record -> 134.199.138.27 (lux-k8s hanzoai/ingress LB).
###############################################################################
###############################################################################
# Middlewares
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: mainpage-rewrite
namespace: lux-testnet
spec:
replacePathRegex:
regex: ^/main-page/(.*)
replacement: /homepage/$1
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: cors-allow-all
namespace: lux-testnet
spec:
headers:
accessControlAllowOriginList: ["*"]
accessControlAllowMethods: [GET, POST, PUT, DELETE, OPTIONS]
accessControlAllowHeaders: ["*"]
accessControlMaxAge: 100
addVaryHeader: true
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: blockscout-prefix-cchain
namespace: lux-testnet
spec:
addPrefix:
prefix: /v1/indexer/cchain
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: blockscout-prefix-hanzo
namespace: lux-testnet
spec:
addPrefix:
prefix: /v1/indexer/hanzo
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: blockscout-prefix-zoo
namespace: lux-testnet
spec:
addPrefix:
prefix: /v1/indexer/zoo
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: blockscout-prefix-pars
namespace: lux-testnet
spec:
addPrefix:
prefix: /v1/indexer/pars
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: blockscout-prefix-spc
namespace: lux-testnet
spec:
addPrefix:
prefix: /v1/indexer/spc
---
###############################################################################
# C-Chain explorer (testnet)
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-cchain-testnet
namespace: lux-testnet
labels:
app: lux-explorer
chain: cchain
network: testnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-cchain-test.lux.network`) || Host(`explore-c-test.lux.network`)
services:
- name: explorer
port: 80
- kind: Rule
match: Host(`api-explore-cchain-test.lux.network`) || Host(`api-explore-c-test.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-cchain
- name: cors-allow-all
services:
- name: explorer
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# Hanzo explorer (testnet)
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-hanzo-testnet
namespace: lux-testnet
labels:
app: lux-explorer
chain: hanzo
network: testnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-hanzo-test.lux.network`)
services:
- name: explorer
port: 80
- kind: Rule
match: Host(`api-explore-hanzo-test.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-hanzo
- name: cors-allow-all
services:
- name: explorer
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# Zoo explorer (testnet) — backed by blockchain ID LXuiihy…WeQ
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-zoo-testnet
namespace: lux-testnet
labels:
app: lux-explorer
chain: zoo
network: testnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-zoo-test.lux.network`)
services:
- name: explorer
port: 80
- kind: Rule
match: Host(`api-explore-zoo-test.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-zoo
- name: cors-allow-all
services:
- name: explorer
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# Pars explorer (testnet)
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-pars-testnet
namespace: lux-testnet
labels:
app: lux-explorer
chain: pars
network: testnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-pars-test.lux.network`)
services:
- name: explorer
port: 80
- kind: Rule
match: Host(`api-explore-pars-test.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-pars
- name: cors-allow-all
services:
- name: explorer
port: 8090
tls:
certResolver: letsencrypt
---
###############################################################################
# SPC explorer (testnet)
###############################################################################
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: lux-explorer-spc-testnet
namespace: lux-testnet
labels:
app: lux-explorer
chain: spc
network: testnet
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`explore-spc-test.lux.network`)
services:
- name: explorer
port: 80
- kind: Rule
match: Host(`api-explore-spc-test.lux.network`)
middlewares:
- name: mainpage-rewrite
- name: blockscout-prefix-spc
- name: cors-allow-all
services:
- name: explorer
port: 8090
tls:
certResolver: letsencrypt