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
90 lines
2.6 KiB
YAML
90 lines
2.6 KiB
YAML
# Generated from the live lux-bank/bank-dash 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: bank-dash
|
|
image:
|
|
repository: ghcr.io/luxfi/bank-dash
|
|
tag: v1.0.16
|
|
digest: sha256:4b65057e567d05526ac591d34b6a292e546db6e899bc80fefe62453a1e81097b
|
|
pullPolicy: IfNotPresent
|
|
# One manifest under that tag, linux/amd64 — a property of the image, so it is
|
|
# written beside it. Selects every node of an all-amd64 cluster; on a mixed one
|
|
# it keeps the pod off the node with no manifest to run.
|
|
nodeSelector:
|
|
kubernetes.io/arch: amd64
|
|
partOf: lux-bank
|
|
# dashd reads three names and no others: the directory it serves, the port it
|
|
# listens on, and the upstream it hands /v1/ to. The bundle asks for /v1/ on
|
|
# its own origin, so one process is both the file server and the reverse proxy
|
|
# — that pairing is what makes this a pod rather than a site on the static
|
|
# plane, which serves files and nothing else.
|
|
env:
|
|
- name: BANK_UPSTREAM
|
|
value: http://bankd.lux-bank.svc.cluster.local
|
|
- name: PORT
|
|
value: '3000'
|
|
- name: DIST_DIR
|
|
value: /app/dist
|
|
resources:
|
|
limits:
|
|
cpu: 250m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
livenessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /
|
|
port: 3000
|
|
scheme: HTTP
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
readinessProbe:
|
|
failureThreshold: 3
|
|
httpGet:
|
|
path: /
|
|
port: 3000
|
|
scheme: HTTP
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
successThreshold: 1
|
|
timeoutSeconds: 1
|
|
ports:
|
|
- containerPort: 3000
|
|
name: http
|
|
imagePullSecrets:
|
|
- name: ghcr-secret
|
|
rollingUpdate:
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
topologySpread:
|
|
enabled: false
|
|
lifecycle: null
|
|
terminationGracePeriodSeconds: 30
|
|
|
|
# app.lux.financial reaches this cluster and got the ingress's own 404: the
|
|
# workload was healthy the whole time and nothing named it. PRODUCTS.md and the
|
|
# e2e suite both give this host to this workload.
|
|
#
|
|
# One host is enough. dashd serves /app/dist and proxies /v1 to
|
|
# bankd.lux-bank.svc.cluster.local, so the API call the bundle makes is
|
|
# same-origin and answered in-cluster — bankd does not have to be published for
|
|
# this to work, and it is not.
|
|
ingress:
|
|
enabled: true
|
|
hosts:
|
|
- app.lux.financial
|
|
tls: true
|
|
className: ingress
|
|
|
|
# Enforcement switch, read by the lux-fleet ApplicationSet's templatePatch --
|
|
# not by the chart. selfHeal returns a hand-edited object to what is written
|
|
# here; prune stays off, so nothing is ever deleted.
|
|
cd:
|
|
automated: false
|