Files
zooqueenandzeekay 0d58d9eb8c exchange/bridge: per-env app layer across lux+zoo, reproducible
Exchange (Uniswap fork, ghcr.io/luxfi/exchange):
- base: drop obsolete init-container sed-patch (image >=5.149.x is a
  shell-less hanzoai/static SPA with a runtime config loader; the old
  'sh /scripts/patch.sh' CrashLooped 'exec: sh: not found'). Matches the
  live lux-ns pod (no init, envFrom config).
- pin 5.149.2 (bare semver; v5.147.4 did not exist -> ImagePullBackOff).
- fix RPC: env-zone gateways serve C-Chain at /ext/bc/C/rpc with NO
  /mainnet|/testnet|/devnet infix (the infixed paths 404). Verified live:
  mainnet 96369, testnet 96368, devnet 96370.
- align IngressRoute hosts to the explorer scheme:
  exchange.lux-test.network / exchange.lux-dev.network (+ -test/-dev infix).
- deployed: lux-testnet, lux-devnet (lux-mainnet served by lux-ns).
- zoo-testnet overlay: exchange.zoo-test.network on chain 200201, in the
  zoo ns reusing ghcr-secret+ghcr-zoo + zoo-exchange-secrets.

lux-ns/lux-exchange: declared Ingress now also covers markets.lux.network.

Bridge (ghcr.io/luxfi/bridge-ui):
- per-env UIs bridge.lux-test.network / bridge.lux-dev.network.
  Frontend layer only; cross-chain needs a per-env bridge-server+MPC
  backend (mainnet-only today) -- documented inline.

DNS source-of-truth manifests updated (lux.exchange trade; lux.network
exchange-test/-dev, bridge-test/-dev).
2026-07-26 15:46:01 -07:00

66 lines
1.9 KiB
YAML

###############################################################################
# Exchange (Uniswap V2/V3 fork — ghcr.io/luxfi/exchange).
#
# The image (>=5.149.x) is a hanzoai/static-served SPA with a RUNTIME brand/
# config loader: it reads the `exchange-config` ConfigMap env vars at pod
# start (loadBrandConfig). No init-container sed-patch is needed — and the
# image is shell-less (FROM scratch/distroless), so the old `sh /scripts/
# patch.sh` init container CrashLoops with `exec: "sh": not found`.
# This matches the live, working lux-ns/lux-exchange pod (no init, no mounts).
#
# Overlays patch: image tag (kustomization), RPC/brand env (configmap-env),
# and hosts (ingressroute).
###############################################################################
apiVersion: apps/v1
kind: Deployment
metadata:
name: exchange
labels:
app: exchange
spec:
replicas: 2
selector:
matchLabels:
app: exchange
template:
metadata:
labels:
app: exchange
spec:
imagePullSecrets:
- name: ghcr-luxfi
containers:
- name: exchange
image: ghcr.io/luxfi/exchange:placeholder
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: exchange-config
ports:
- name: http
containerPort: 3000
protocol: TCP
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3