Files
universe/deploy/lux-mainnet/explore-fe-hanzo.yaml
T
zeekayandHanzo Dev 935887cd24 explorer 1.5.56 fills the heights it skipped, and Hanzo's coin is AI
explorer 1.5.56 embeds indexer v1.5.12: a null block from a lagging hanzod
seat is retried rather than stored as an empty block, and a start-up audit
indexed the 525 Hanzo heights earlier runs had skipped.

Chain 36963's native coin is AI, never HANZO: the Hanzo explorer page and the
compose explorers for Hanzo mainnet, testnet and devnet now say so.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-23 20:09:14 -07:00

121 lines
3.5 KiB
YAML

# The RUNTIME environment, and only that. luxfi/explore's .env.example.lux
# mixes build-time and runtime variables in one file -- NEXT_PUBLIC_BRAND is
# read by `pnpm build`, and the branding, marketplace and homepage URLs were
# dropped from the image -- so feeding that file to the container fails the
# validator outright. These are the variables v2.8.1-lux accepts.
cd:
automated: false
replicas: 1
selectorLabels:
app: explore-fe
brand: hanzo
network: mainnet
containerName: explore
image:
repository: ghcr.io/hanzoai/explore
tag: v1.1.32
digest: sha256:a9532f1bc6d88518b23ca2ec8221db5dfd8fd3cbcf19e1f2204e6fc235f612b4
pullPolicy: IfNotPresent
labels:
brand: hanzo
network: mainnet
env:
- name: PORT
value: '3000'
envFrom:
- configMapRef:
name: explore-env-hanzo
resources:
limits:
cpu: '1'
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
livenessProbe:
failureThreshold: 5
httpGet:
path: /
port: ui
scheme: HTTP
initialDelaySeconds: 90
periodSeconds: 60
successThreshold: 1
timeoutSeconds: 10
readinessProbe:
failureThreshold: 6
httpGet:
path: /
port: ui
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 10
startupProbe:
failureThreshold: 30
httpGet:
path: /
port: ui
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 10
ports:
- containerPort: 3000
name: ui
servicePort: 80
imagePullSecrets:
- name: ghcr-luxfi
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
topologySpread:
enabled: false
lifecycle: null
terminationGracePeriodSeconds: 30
configMaps:
- name: explore-env-hanzo
data:
NEXT_PUBLIC_NETWORK_NAME: Hanzo Network
NEXT_PUBLIC_NETWORK_SHORT_NAME: HANZO
NEXT_PUBLIC_NETWORK_ID: '36963'
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: AI
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: AI
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: '18'
# This chain's own RPC, never another brand's: the page shows only the
# chain it names.
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.hanzo.network/v1/chain/hanzo/rpc
NEXT_PUBLIC_API_HOST: api-explore.lux.network
NEXT_PUBLIC_API_PROTOCOL: https
# The Blockscout-shaped API this UI reads is mounted per chain at
# /v1/indexer/<slug>. With "/" the page asks api-explore.lux.network for
# /stats, /main-page/blocks and /config/backend-version, all of which 404,
# so every card stays a skeleton that never resolves while the same paths
# under this prefix answer 200.
NEXT_PUBLIC_API_BASE_PATH: /v1/indexer/hanzo
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss
NEXT_PUBLIC_APP_HOST: explore.hanzo.network
NEXT_PUBLIC_APP_PROTOCOL: https
NEXT_PUBLIC_IS_TESTNET: 'false'
# The hosts this brand answers on. Without this the Deployment runs and nothing
# can reach it: every explore.* host resolves to Cloudflare and Cloudflare hands
# the request to an ingress with no router that matches, which is the 404 these
# five have been serving. The set is the one k8s/lux-mainnet/ingress-chains.yaml
# carried by hand, minus explore.spc.network, which does not resolve.
routes:
- name: explore-hanzo
spec:
entryPoints: [websecure]
routes:
- match: Host(`explore-hanzo.lux.network`) || Host(`explore.hanzo.network`) || Host(`explore.hanzo.ai`)
kind: Rule
services:
# The Service publishes ui:80 -> 3000; a router that names 3000 is
# answered with `service port not found: 3000` and the host 404s.
- name: explore-fe-hanzo
port: 80
tls: {}