Files
universe/deploy/lux-mainnet/dex.yaml
T
zeekayandHanzo Dev be3d3de8bc Place pods on the architecture their image was built for
144 of the 185 images this estate runs publish amd64 alone, and evo is the one
amd64 node. Where the image is an index containerd refuses it and the pod sits
in ImagePullBackOff; where it is a bare manifest there is no platform check, so
spark's qemu-x86_64 binfmt runs it emulated until it faults. work-board is at
678 restarts that way and testnet's exchange-api at 617. trade.yaml already
states the constraint for dex; these state it for the rest.

lux-testnet serves one route, chain-api, and it answers from luxd-archive. The
five deployments zeroed here have no route and no caller.

status.hanzo.ai, status.lux.network and status.zoo.network are served from
hanzo/ and zoo/. The lux-system copies duplicate them and have been unrouted
and unready since the migration. maintenance-page goes with them: nothing
routes to it and its page was never written.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-10 20:39:32 -07:00

68 lines
1.7 KiB
YAML

# D-Chain DEX venue — dexd, THE dex binary from THE dex image (ghcr.io/luxfi/dex).
# ZAP :9099 is the dial-able venue endpoint for C-Chain DEX settlement once
# --dex-validator turns on; nothing dials it until then. Chainstate lives on a
# PVC: the venue's zapdb is authoritative once markets exist (its predecessor,
# dchain-venue, kept it on an emptyDir — wiped on every reschedule).
replicas: 1
selectorLabels:
app: dex
containerName: dex
image:
repository: ghcr.io/luxfi/dex
tag: v1.14.3
pullPolicy: IfNotPresent
labels:
lux.network/component: dex
partOf: lux
command:
- /usr/local/bin/dexd
args:
- run
- -addr
- 0.0.0.0:9099
- -db
- /data/db
ports:
- containerPort: 9099
name: zap
persistence:
enabled: true
name: data
mountPath: /data
size: 10Gi
# image runs as dexd (uid 1000); without fsGroup a fresh PVC mounts root-owned
# and the zapdb open fails.
fsGroup: 1000
readinessProbe:
tcpSocket:
port: 9099
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: '1'
memory: 1Gi
imagePullSecrets:
- name: ghcr-luxfi
topologySpread:
enabled: false
terminationGracePeriodSeconds: 30
# One amd64 manifest, so evo is the only node that can execute this. spark
# registers qemu-x86_64 binfmt, which is worse than a refusal: the pod starts,
# runs emulated, and faults at random — 14 restarts. Stated rather than left
# to the scheduler, the same way trade.yaml states it. The toleration keeps the
# pin working if `hanzo.ai/no-ci` goes back on evo.
nodeSelector:
kubernetes.io/arch: amd64
tolerations:
- key: hanzo.ai/no-ci
operator: Exists
effect: NoSchedule