app.lux.finance and app.lux.market are served by Deployments in namespaces
app-lux-finance / app-lux-market on lux-k8s that exist ONLY as hand-applied
objects — kubectl.kubernetes.io/last-applied-configuration, no file anywhere
in this repo. That is why both kept serving 2026-06-25 images long after the
fabricated figures in them were fixed in source:
ghcr.io/luxfi/finance:1.0.3-amd64 -> "$125M+ Total Value Locked", a
literal; a page-load trace makes 25
requests, none of them JSON-RPC
ghcr.io/luxfi/market:1.0.31-amd64 -> /genesis tier table claiming 40B LUX
"permanently locked" behind
0x004287c4..76c6, eth_getCode "0x"
Specs transcribed from the live objects unchanged — same replicas, ports,
env, resources, /health probes, ghcr-pull secret, ingressClassName and TLS
secret names — so applying this is a no-op except for the image tag, which is
now the point: it moves to finance 1.0.4 / market 1.1.8, the first tags built
from the live-read source.
Both files record the sibling deployments that also claim these apps'
hostnames (k8s/lux-k8s/finance, k8s/lux-k8s/market, k8s/lux-mainnet/
lux-market.yaml). Collapsing three deployments of one app into one is a
separate change and is not attempted here.
Not applied: the luxfi ARC pool has not scheduled a runner in 14h
("max node group size reached", 0/10 nodes match the runner node selector),
so neither image exists yet. Apply once the tags are in GHCR.
Co-authored-by: Hanzo Dev <[email protected]>