Files
universe/k8s/zoo-mainnet/statefulset-patch.yaml
zeekayandHanzo Dev 5c1a638589 rpc: /ext/ -> /v1/ on our own hosts
luxd serves /v1/*; /ext/* 404s. Third-party chains keep their own paths.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-03 21:02:21 -07:00

44 lines
2.3 KiB
YAML

# Node flag injection for the operator-rendered zoo-chain StatefulSet.
#
# The Rust zoo-operator builds the StatefulSet from the ZooNetwork CR and passes
# config as ZOO_* env vars. The node binary does NOT read its http-host /
# bootstrap / track-chains settings from ZOO_* env — only from real CLI flags.
# Without --http-host=0.0.0.0 it binds the HTTP / health API to 127.0.0.1, so the
# kubelet liveness probe (which hits the pod IP) can never reach /v1/health: the
# node boots, passes its internal check, then gets SIGTERM'd ~90s in when the
# probe fails 3x — an endless restart loop.
#
# This strategic-merge patch sets command+args directly so the node gets the
# flags. The operator does not re-render an existing StatefulSet's pod template
# (it only checks progress), so these flags persist across reconciles. mainnet =
# Lux primary networkId 1, 5 validators, Zoo EVM chain
# 4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3.
#
# command is `zood` (the zooai/node binary on PATH), NOT `./luxd`: with the
# image now ghcr.io/zooai/node, the entrypoint binary is zood, which wraps
# luxfi/node and parses the IDENTICAL flag set (config.BuildFlagSet) plus
# self-installs the Zoo EVM/DEX/FHE plugins — so the same flags apply verbatim.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: zoo-chain
spec:
template:
spec:
containers:
- name: zoo-node
command: ["zood"]
args:
- --http-host=0.0.0.0
- --http-allowed-hosts=*
- --network-id=1
- --sybil-protection-enabled=true
- --bootstrap-ips=129.212.164.46:9631,137.184.246.133:9631,143.244.210.43:9631,143.244.210.71:9631,24.144.70.85:9631
- --bootstrap-ids=NodeID-Mf3JfSY91oDwfBqf7rCLmhg4NDtDghw1f,NodeID-2TwSZ2oyeBK2mv7JiseEQ8m74rotDj4QR,NodeID-Ld9VFBQ9zGbd79z2vzaAqkQ3jHuqbtRpo,NodeID-8mY2fhUehN27v3LCU84BnnKEoeRfd2weC,NodeID-DwsrqSkPoE3pXWrUt9nkJ5yBycwRQ246X
# Beluga's blockchainID (chainId 420420) is appended here once the
# CreateChainTx that mints it on the Zoo primary network lands:
# --track-chains=4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3,<BELUGA_BLOCKCHAIN_ID>
# Until then we track only the Zoo L2 EVM (200200) so the live L2 is
# never disrupted by a half-wired L3.
- --track-chains=4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3