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]>
85 lines
2.3 KiB
YAML
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
|