* fix(lux-build): roll lux.build to 0.1.14 + decomplect to one route
lux.build was 503 crash-looping: the live deployment ran the OLD Prisma-based
image ghcr.io/luxfi/build:0.1.9 which SIGSEGV/heap-OOM'd on a missing
DATABASE_URL (62 restarts). The dashboard was rewritten Prisma-free (a
self-contained Next standalone server) and already built natively on the
lux-build ARC pool as 0.1.14 (HEAD 916863d) — it was simply never rolled.
- k8s/lux-mainnet/lux-build.yaml: image 0.1.6 -> 0.1.14 (canonical, live),
replicas 1 -> 2 (flagship availability), liveness/readiness / -> /v1/health
(the app's purpose-built health route). Validated in-cluster: starts clean,
/ + /quickstart + /v1/health all 200; rolled 2/2 Running, 0 restarts.
Decomplect to exactly ONE lux.build route (the canonical lux-mainnet/lux-build):
- k8s/lux-explorer/lux-build.yaml: DELETED — a dead duplicate (image 0.1.0,
no live resources) whose IngressRoute also claimed Host(`lux.build`).
- k8s/lux-explorer/build-wl.yaml: removed the dead build-lux stanzas
(ConfigMap/Deployment/Service/IngressRoute). Its build-lux IngressRoute
claimed Host(`lux.build`) with a dead backend (svc had no endpoints),
causing non-deterministic 503s when edge pods resolved the host to it.
lux.exchange: header doc clarified. The apex is healthy (in-cluster HTTP 200 +
valid TLS, CN=lux.exchange) served by the single class=ingress Ingress on
hanzoai/ingress with the cert-manager lux-exchange-tls secret. External apex
failures are safebrowse-style client-network content filtering of the
crypto-exchange domain (NOT an origin/ingress/cert fault) — the unfiltered
.network aliases serve 200.
Note: build-{zoo,hanzo,pars} in build-wl.yaml are also dead (other-brand
surfaces, out of scope) — flagged for those teams, left untouched.
* k8s(lux-mainnet): expose rpc.{hanzo,zoo}.network for the two L2s
Hanzo (chainId 36963) and Zoo (chainId 200200) are primary-network-
validating L2s — their blockchains already live on the Lux P-Chain
(hanzo bc RHuUsLWW..., zoo bc 4HBM17cz...) and are validated by the
existing Lux Primary Network validator set (platform.validatedBy ->
netID 1111...LpoYY, same as C-Chain). No separate validator set.
- rpc-brand-ingress.yaml: IngressRoute rpc-brand-root-mainnet adds
bare-root JSON-RPC for rpc.{hanzo,zoo}.network at Path(/) priority
10000, using the existing lux-system rpc-rewrite-{hanzo,zoo}
middlewares (replacePath -> /ext/bc/{hanzo,zoo}/rpc). Mirrors the
api-brand-root-mainnet pattern; full /ext/* surface already served by
the shared api-mainnet IngressRoute. (A plain k8s Ingress is shadowed
by api-mainnet@kubernetescrd, so IngressRoute is the one way here.)
- chains/chain-{hanzo,zoo}.yaml: lux.cloud/v1 Chain CRs (alias, networkRef
luxd, vm evm) so the bootnode/lux.cloud fleet dashboard lists both L2s.
- chain-aliases.yaml: reconcile stale git blockchainIDs to the live
on-chain P-Chain values (+ add osage).
Verified: rpc.hanzo.network eth_chainId 0x9063 (36963), rpc.zoo.network
0x30e08 (200200), both via the public Cloudflare endpoint.
---------
Co-authored-by: zeekay <[email protected]>
19 lines
399 B
YAML
19 lines
399 B
YAML
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
namespace: lux-mainnet
|
|
resources:
|
|
- a-chain.yaml
|
|
- b-chain.yaml
|
|
- d-chain.yaml
|
|
- g-chain.yaml
|
|
- i-chain.yaml
|
|
- k-chain.yaml
|
|
- m-chain.yaml
|
|
- o-chain.yaml
|
|
- q-chain.yaml
|
|
- r-chain.yaml
|
|
- z-chain.yaml
|
|
# Primary-network-validating L2s (own EVMs, validated by the Lux fleet)
|
|
- chain-hanzo.yaml
|
|
- chain-zoo.yaml
|