The two mains shared no history, so this is a per-file three-way merge:
for each file the 65 forge-only commits touched (by patch-id), the base is
the newest version both histories held. 105 files merged or took one side
cleanly, 48 were already identical, and the 45 true conflicts and 31
modify/delete pairs were resolved by what runs on the cluster:
- The forge wins where it is live: explorer 1.5.56 (digest 45db11ff) and
its archive readers, explore-fe-hanzo's ConfigMap env (AI coin,
/v1/indexer/hanzo, /v1/chain/hanzo/rpc), exchange-api reading
luxd-archive, and explore-fe-{lux,zoo}-testnet, pinned to what they run
(v2.8.5-lux / v2.8.4-lux).
- GitHub wins where it is live: explore-fe-lux v2.8.5-lux, explore-fe-zoo
v2.8.4-lux, bankd v1.0.18, lux-build's routes.
- The forge's retirement of workloads that run nowhere stands: lux-mainnet
dex, lux-hb2, lux-market, traffic, wallet-web; the lux-testnet frontends,
indexer, exchange and gateways; lux-operator. deploy/lux-testnet/luxd.yaml
stays, since roll_luxd.sh reads it.
- GitHub's deletions stand: lux-finance and lux-financial (static sites
now), the k8s/ operator manifests, .hanzo/workflows/cicd.yml.
- Paths are /v1/chain/C/rpc where the forge had written /v1/chain/c. All
four spellings answer; this one is the documented form. The forge's
/{network}/v1 doc lines are dropped: a network is a host, and the prefix
404s.
Dry-run against the running objects (server-side, as CD applies), the
merged explorer shows no change where GitHub's showed 152 lines, and no
other live workload moves further from what runs. Every deploy/*/*.yaml
renders with charts/app; price.yaml, which failed on GitHub, now renders.
Claude-Session: https://claude.ai/code/session_01TzirYkGmD88w4GipqivUtV
83 lines
2.7 KiB
YAML
83 lines
2.7 KiB
YAML
# Generated from the live lux-bank/bankd Deployment on lux-k8s
|
|
# by hack/live2values.py. Live is the source: a repo of hand-applied
|
|
# manifests has unknown currency, the running fleet does not.
|
|
replicas: 1
|
|
selectorLabels:
|
|
app: bankd
|
|
image:
|
|
repository: ghcr.io/luxfi/bank
|
|
tag: v1.0.18
|
|
digest: sha256:069f200ee39f8a7b167bd6cb30b55b9fafbf7ed208e64d7b0000390a0ec47092
|
|
pullPolicy: IfNotPresent
|
|
# One manifest under that tag, linux/amd64 — stated beside the image because it
|
|
# describes the bytes. A cluster that is all amd64 is unaffected; a mixed one
|
|
# stops scheduling this onto a node that cannot run it.
|
|
nodeSelector:
|
|
kubernetes.io/arch: amd64
|
|
command:
|
|
- bankd
|
|
args:
|
|
- serve
|
|
- --http
|
|
- 0.0.0.0:8070
|
|
- --dir
|
|
- /data
|
|
env:
|
|
- name: BANK_SANDBOX
|
|
value: 'true'
|
|
resources:
|
|
limits:
|
|
cpu: '1'
|
|
memory: 1Gi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
volumeMounts:
|
|
- mountPath: /data
|
|
name: data
|
|
ports:
|
|
- containerPort: 8070
|
|
name: http
|
|
servicePort: 80
|
|
# The volume bankd keeps its ledger on. It was the one object live2values.py
|
|
# could not see — it reads the Deployment, and a claim a Deployment merely MOUNTS
|
|
# is not part of it — so the values described a pod that names a volume nobody
|
|
# declares, and the scheduler refuses such a pod outright: no node is available,
|
|
# forever, with no image ever pulled. 20Gi RWO is the size bankd's ledger has
|
|
# always been given.
|
|
#
|
|
# Ephemeral, not shared: a second replica would get a second emptyDir and serve
|
|
# a different database from the first, so this stays at one replica. Duplicating
|
|
# it across both nodes is a shared-store change (per-org Postgres through the
|
|
# DBConnect seam base already exposes), not a replica count.
|
|
volumes:
|
|
- name: data
|
|
emptyDir: {}
|
|
imagePullSecrets:
|
|
- name: ghcr-secret
|
|
strategy: RollingUpdate
|
|
topologySpread:
|
|
enabled: false
|
|
lifecycle: null
|
|
terminationGracePeriodSeconds: 30
|
|
defaultReadinessProbe: false
|
|
|
|
# api.lux.financial. The admin console at admin.lux.financial builds absolute
|
|
# URLs against this host -- `const zm="https://api.lux.financial"` in its bundle,
|
|
# with no same-origin path to proxy -- so the console renders and cannot sign in
|
|
# until this answers. app.lux.financial does NOT need it: dashd proxies /v1 to
|
|
# this Service inside the cluster, which is why that host was routed first and
|
|
# alone.
|
|
#
|
|
# What is published, checked against the running pod rather than assumed:
|
|
# /v1/bank/health and /v1/bank/config answer 200, /v1/bank/overview answers 401,
|
|
# and /api/collections -- the Base admin surface underneath -- answers 404. The
|
|
# framework's own console is not reachable through this route; only the bank's
|
|
# API is.
|
|
ingress:
|
|
enabled: true
|
|
hosts:
|
|
- api.lux.financial
|
|
tls: true
|
|
className: ingress
|