Files
zeekay 8ff73626ae chain routes: /v1/bc -> /v1/chain
luxd serves chain routes under /v1/chain, and the node, cli and sdk releases
already ship it. The deployed gateways still answer the old prefix, so remote
reads break until they are redeployed; the estate moves together rather than
sitting half converted.

Lines that record an observation - a probe, a status code, a past release -
keep the prefix they were written against, as do URLs on hosts that are not
ours. Avalanche endpoints move to /ext/bc, which is the path that host serves.
2026-09-01 08:21:18 -07:00

155 lines
7.4 KiB
YAML

---
# Per-env runtime config for Blockscout FE. Loaded into the pod via
# Deployment `envFrom: configMapRef:`. Blockscout's `make_envs_script.sh`
# at container start renders /assets/envs.js from process env, so any
# change here requires a rollout-restart, NOT an image rebuild.
#
# Brand identity (NETWORK_NAME, OIDC client ID, colors, currency) lives in
# the image itself (ghcr.io/{org}/explore:vX.Y.Z); env-specific knobs
# (NETWORK_ID, IS_TESTNET, *_HOST, RPC_URL) live here.
apiVersion: v1
kind: ConfigMap
metadata:
name: explore-env-lux
namespace: lux-mainnet
labels: {app: explore-fe, brand: lux, network: mainnet}
data:
# Brand identity. Intended to be baked into the image, but the current
# ghcr.io/luxfi/explore image does not set NETWORK_NAME/currency as runtime
# env, so make_envs_script.sh never writes them to window.__envs and the
# client renders "undefined stats" / undefined currency. Source them here
# (make_envs reads pod env at startup) until the image bakes them.
NEXT_PUBLIC_NETWORK_NAME: Lux Network
NEXT_PUBLIC_NETWORK_SHORT_NAME: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Lux
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_NETWORK_ID: "96369"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_API_HOST: api-explore.lux.network
NEXT_PUBLIC_APP_HOST: explore.lux.network
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.lux.network/v1/chain/C/rpc
NEXT_PUBLIC_STATS_API_HOST: https://api-explore.lux.network
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explore.lux.network
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: https://api-explore.lux.network
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: https://api-explore.lux.network
# Account / sign-in via Hanzo IAM. Without these four the account feature
# stays disabled and the header falls back to the wallet "Menu" button.
#
# The client id is the IAM client id, and IAM names every client <org>-<app>
# (HIP-0111). It read `lux-explore-client-id`, a client that has never
# existed, so /v1/iam/oauth/authorize answered 400 unknown client_id and
# sign-in could not start. It is `lux-explore` — verified against the live
# issuer, which 302s for this pair and 400s for the old one.
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: "true"
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER: oidc
NEXT_PUBLIC_OIDC_SERVER_URL: https://lux.id
NEXT_PUBLIC_OIDC_CLIENT_ID: lux-explore
# OIDC_* have no build-time placeholder in the current image, so the envs
# congruity check would crashloop the pod. make_envs still writes them to
# window.__envs (getEnvValue reads that at runtime), so skip validation —
# same approach as deploy/scripts/canonical_build.sh. Long-term: bake the
# OIDC vars as build-args so placeholders exist and validation can stay on.
SKIP_ENVS_VALIDATION: "true"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: explore-env-zoo
namespace: lux-mainnet
labels: {app: explore-fe, brand: zoo, network: mainnet}
data:
# Brand identity (see explore-env-lux note): source here so make_envs writes
# them to window.__envs, otherwise the client shows "undefined stats".
NEXT_PUBLIC_NETWORK_NAME: Zoo Network
NEXT_PUBLIC_NETWORK_SHORT_NAME: ZOO
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Zoo
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: ZOO
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_NETWORK_ID: "200200"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_API_HOST: api-explore.zoo.network
NEXT_PUBLIC_APP_HOST: explore.zoo.network
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.zoo.network/v1/chain/C/rpc
NEXT_PUBLIC_STATS_API_HOST: https://api-explore.zoo.network
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explore.zoo.network
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: https://api-explore.zoo.network
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: https://api-explore.zoo.network
# Sign-in via Hanzo IAM, Zoo's own org. The issuer is zoolabs.id, NOT zoo.id
# — zoo.id does not resolve at all, so naming it would fail every login at
# DNS. See explore-env-lux for why the client id is `<org>-explore`.
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: "true"
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER: oidc
NEXT_PUBLIC_OIDC_SERVER_URL: https://zoolabs.id
NEXT_PUBLIC_OIDC_CLIENT_ID: zoo-explore
# Brand identity (NETWORK_NAME, currency, colors) is baked into the brand
# image; the runtime envs-validator would otherwise crashloop the pod on the
# absent NETWORK_NAME placeholder. Same rationale as explore-env-lux above.
SKIP_ENVS_VALIDATION: "true"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: explore-env-hanzo
namespace: lux-mainnet
labels: {app: explore-fe, brand: hanzo, network: mainnet}
data:
# Brand identity (see explore-env-lux note): source here so make_envs writes
# them to window.__envs, otherwise the client shows "undefined stats".
NEXT_PUBLIC_NETWORK_NAME: Hanzo
NEXT_PUBLIC_NETWORK_SHORT_NAME: HANZO
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Hanzo AI
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: AI
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_NETWORK_ID: "36963"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_API_HOST: api-explore.hanzo.network
NEXT_PUBLIC_APP_HOST: explore.hanzo.network
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.hanzo.network/v1/chain/C/rpc
NEXT_PUBLIC_STATS_API_HOST: https://api-explore.hanzo.network
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explore.hanzo.network
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: https://api-explore.hanzo.network
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: https://api-explore.hanzo.network
# Sign-in via Hanzo IAM, Hanzo's own org. hanzo-explore carries callbacks for
# BOTH explore.hanzo.network and explore.hanzo.ai — one deployment, two
# hostnames, one client. See explore-env-lux on the client-id naming.
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: "true"
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER: oidc
NEXT_PUBLIC_OIDC_SERVER_URL: https://hanzo.id
NEXT_PUBLIC_OIDC_CLIENT_ID: hanzo-explore
# See explore-env-zoo: brand identity is baked in the image; skip the
# runtime envs-validator so the absent NETWORK_NAME placeholder doesn't crashloop.
SKIP_ENVS_VALIDATION: "true"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: explore-env-pars
namespace: lux-mainnet
labels: {app: explore-fe, brand: pars, network: mainnet}
data:
# Brand identity (see explore-env-lux note): source here so make_envs writes
# them to window.__envs, otherwise the client shows "undefined stats".
NEXT_PUBLIC_NETWORK_NAME: Pars
NEXT_PUBLIC_NETWORK_SHORT_NAME: PARS
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: Pars
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: PARS
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: "18"
NEXT_PUBLIC_NETWORK_ID: "494949"
NEXT_PUBLIC_IS_TESTNET: "false"
NEXT_PUBLIC_API_HOST: api-explore.pars.network
NEXT_PUBLIC_APP_HOST: explore.pars.network
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.pars.network/v1/chain/C/rpc
NEXT_PUBLIC_STATS_API_HOST: https://api-explore.pars.network
NEXT_PUBLIC_VISUALIZE_API_HOST: https://api-explore.pars.network
NEXT_PUBLIC_CONTRACT_INFO_API_HOST: https://api-explore.pars.network
NEXT_PUBLIC_ADMIN_SERVICE_API_HOST: https://api-explore.pars.network
# Sign-in via Hanzo IAM, Pars' own org. See explore-env-lux on the naming.
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED: "true"
NEXT_PUBLIC_ACCOUNT_AUTH_PROVIDER: oidc
NEXT_PUBLIC_OIDC_SERVER_URL: https://pars.id
NEXT_PUBLIC_OIDC_CLIENT_ID: pars-explore
# See explore-env-zoo: brand identity is baked in the image; skip the
# runtime envs-validator so the absent NETWORK_NAME placeholder doesn't crashloop.
SKIP_ENVS_VALIDATION: "true"