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).
66 lines
1.9 KiB
YAML
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
|