Files
universe/deploy/lux-testnet/api-gateway-gateway.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

85 lines
2.3 KiB
YAML

# Generated from the live lux-testnet/api-gateway-gateway Deployment on do-sfo3-lux-k8s
# by hack/live2values.py. Live is the source: a repo of hand-applied
# manifests has unknown currency, the running fleet does not.
# Unrouted: lux-testnet serves one IngressRoute, chain-api, and it answers from
# luxd-archive. Nothing calls this.
replicas: 0
selectorLabels:
app.kubernetes.io/component: gateway
app.kubernetes.io/instance: api-gateway
app.kubernetes.io/managed-by: lux-operator
app.kubernetes.io/name: lux-gateway
containerName: gateway
image:
repository: ghcr.io/hanzoai/gateway
digest: sha256:017dd6989257c5e86eefba734d5ecb16e1cf4ce2539ef229508156a1ee45b913
pullPolicy: IfNotPresent
component: gateway
command:
- /usr/bin/gateway
args:
- run
- -c
- /etc/gateway/gateway.json
resources:
limits:
cpu: '1'
memory: 1Gi
requests:
cpu: 100m
memory: 256Mi
volumeMounts:
- mountPath: /etc/gateway
name: config
readOnly: true
livenessProbe:
failureThreshold: 3
httpGet:
path: /__health
port: 8080
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
httpGet:
path: /__health
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
ports:
- containerPort: 8080
name: http
servicePort: 80
volumes:
- configMap:
name: api-gateway-gateway-config
name: config
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
topologySpread:
enabled: false
lifecycle: null
terminationGracePeriodSeconds: 30
imagePullSecrets: []
# The immutable spec.selector matches app.kubernetes.io/managed-by=lux-operator, and the
# chart's app.labels helper hardcodes `Helm` for that key — so the pod template
# stops satisfying its own selector and the apply is refused. podLabels are
# rendered after app.labels, so this restores the one label the selector needs
# without touching the rest.
podLabels:
app.kubernetes.io/managed-by: lux-operator
# Enforcement switch, read by the lux-fleet ApplicationSet's templatePatch —
# not by the chart. On while this Application already read Synced, so it
# applies nothing today; what it adds is selfHeal, which returns a
# hand-edited object to what is written here. prune stays off.
cd:
automated: false