Files
universe/deploy/lux-mainnet/explore-fe-lux-testnet.yaml
zeekay 51460827d4 Merge the forge's lux/universe into GitHub's, the one main from here
The two mains shared no history, so this is a per-file three-way merge:
for each file the 65 forge-only commits touched (by patch-id), the base is
the newest version both histories held. 105 files merged or took one side
cleanly, 48 were already identical, and the 45 true conflicts and 31
modify/delete pairs were resolved by what runs on the cluster:

- The forge wins where it is live: explorer 1.5.56 (digest 45db11ff) and
  its archive readers, explore-fe-hanzo's ConfigMap env (AI coin,
  /v1/indexer/hanzo, /v1/chain/hanzo/rpc), exchange-api reading
  luxd-archive, and explore-fe-{lux,zoo}-testnet, pinned to what they run
  (v2.8.5-lux / v2.8.4-lux).
- GitHub wins where it is live: explore-fe-lux v2.8.5-lux, explore-fe-zoo
  v2.8.4-lux, bankd v1.0.18, lux-build's routes.
- The forge's retirement of workloads that run nowhere stands: lux-mainnet
  dex, lux-hb2, lux-market, traffic, wallet-web; the lux-testnet frontends,
  indexer, exchange and gateways; lux-operator. deploy/lux-testnet/luxd.yaml
  stays, since roll_luxd.sh reads it.
- GitHub's deletions stand: lux-finance and lux-financial (static sites
  now), the k8s/ operator manifests, .hanzo/workflows/cicd.yml.
- Paths are /v1/chain/C/rpc where the forge had written /v1/chain/c. All
  four spellings answer; this one is the documented form. The forge's
  /{network}/v1 doc lines are dropped: a network is a host, and the prefix
  404s.

Dry-run against the running objects (server-side, as CD applies), the
merged explorer shows no change where GitHub's showed 152 lines, and no
other live workload moves further from what runs. Every deploy/*/*.yaml
renders with charts/app; price.yaml, which failed on GitHub, now renders.

Claude-Session: https://claude.ai/code/session_01TzirYkGmD88w4GipqivUtV
2026-09-23 20:20:03 -07:00

108 lines
2.6 KiB
YAML

# Lux testnet's explorer page. Same image and runtime environment as
# explore-fe-lux; it reads chain cchain-testnet from the one explorer backend.
cd:
automated: false
replicas: 1
selectorLabels:
app: explore-fe
brand: lux
network: testnet
containerName: explore
image:
repository: ghcr.io/luxfi/explore
tag: v2.8.5-lux
digest: sha256:4f9d6435eb819262375a4e0903903127ddb6becd435e73b25b7d97277e9b868c
pullPolicy: IfNotPresent
labels:
brand: lux
network: testnet
env:
- name: PORT
value: '3000'
- name: NEXT_PUBLIC_FONT_FAMILY_HEADING
value: '{"name":"Geist","url":"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap"}'
- name: NEXT_PUBLIC_FONT_FAMILY_BODY
value: '{"name":"Geist","url":"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap"}'
envFrom:
- configMapRef:
name: explore-env-lux-testnet
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-lux-testnet
data:
NEXT_PUBLIC_NETWORK_NAME: Lux Testnet
NEXT_PUBLIC_NETWORK_SHORT_NAME: LUX
NEXT_PUBLIC_NETWORK_ID: '96368'
NEXT_PUBLIC_NETWORK_CURRENCY_NAME: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL: LUX
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS: '18'
NEXT_PUBLIC_NETWORK_RPC_URL: https://api.lux-test.network/v1/chain/c/rpc
NEXT_PUBLIC_API_HOST: api-explore.lux.network
NEXT_PUBLIC_API_PROTOCOL: https
NEXT_PUBLIC_API_BASE_PATH: /v1/indexer/cchain-testnet
NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL: wss
NEXT_PUBLIC_APP_HOST: explore-test.lux.network
NEXT_PUBLIC_APP_PROTOCOL: https
NEXT_PUBLIC_IS_TESTNET: 'true'
routes:
- name: explore-lux-testnet
spec:
entryPoints: [websecure]
routes:
- match: Host(`explore-test.lux.network`) || Host(`explore.lux-test.network`)
kind: Rule
services:
- name: explore-fe-lux-testnet
port: 80
tls: {}