Universe CI / Resolve Environment (push) Waiting to run
Universe CI / Update Manifest (push) Blocked by required conditions
Universe CI / E2E (push) Blocked by required conditions
CI/CD / render (push) Waiting to run
The primary-network chains answer to either case; one spelling beats two. /v1/chain/c/rpc, /v1/chain/p, /v1/chain/x across the estate. Co-authored-by: Hanzo AI <[email protected]>
113 lines
3.6 KiB
YAML
113 lines
3.6 KiB
YAML
# ZooNetwork CR — Zoo validator cluster on Lux primary network.
|
|
#
|
|
# Each env overlay (zoo-mainnet, zoo-testnet, zoo-devnet) patches:
|
|
# spec.networkId — Lux primary networkID (1/2/3)
|
|
# spec.validators — replica count
|
|
# spec.image.tag — semver pin (NEVER floating)
|
|
# spec.config — flat map → ZOO_* env vars on the StatefulSet
|
|
# including BOOTSTRAP_IPS / BOOTSTRAP_IDS / TRACK_CHAINS
|
|
#
|
|
# Operator controller (Rust): src/controller.rs::create_network.
|
|
# CRD struct: src/crd.rs::ZooNetworkSpec.
|
|
apiVersion: zoo.network/v1alpha1
|
|
kind: ZooNetwork
|
|
metadata:
|
|
name: zoo-chain
|
|
labels:
|
|
app: zoo-chain
|
|
app.kubernetes.io/name: zoo-chain
|
|
app.kubernetes.io/part-of: zoo
|
|
spec:
|
|
networkId: 1
|
|
validators: 0
|
|
# zooai/node (zood) — the Zoo Network node. Replaces the ghcr.io/luxfi/node
|
|
# (luxd) stopgap: luxd is a bare subnet runtime with no Zoo EVM and no AI
|
|
# precompiles, so it could only ever track Beluga as an inert subnet stub.
|
|
# zood self-installs the Zoo EVM (AI/FHE/PQ/ZK precompiles, incl. the 0x0303
|
|
# in-consensus inference precompile + the 0x0304 aivmbridge), Zoo DEX and Zoo
|
|
# FHE VMs at startup, so the validators can actually instantiate the Beluga
|
|
# L3 (chainId 420420) and the Zoo L2 EVM (200200) as real chains.
|
|
# Tag is pinned to an immutable ghcr.io/zooai/node semver by CI (hanzo.yml →
|
|
# hanzoai/ci); overlays pin the live tag. NEVER a floating tag in prod.
|
|
image:
|
|
repository: ghcr.io/zooai/node
|
|
tag: 0.2.0
|
|
pullPolicy: IfNotPresent
|
|
storage:
|
|
storageClass: do-block-storage
|
|
size: 100Gi
|
|
resources:
|
|
cpuRequest: "1"
|
|
cpuLimit: "4"
|
|
memoryRequest: 2Gi
|
|
memoryLimit: 8Gi
|
|
ports:
|
|
http: 9630
|
|
staking: 9631
|
|
service:
|
|
serviceType: ClusterIP
|
|
metrics:
|
|
enabled: true
|
|
port: 9090
|
|
# Flat key/value map → ZOO_<KEY_UPPERCASED> env vars on each validator pod.
|
|
# The image's entrypoint translates these into luxd CLI flags.
|
|
config: {}
|
|
---
|
|
apiVersion: zoo.network/v1alpha1
|
|
kind: ZooChain
|
|
metadata:
|
|
name: zoo-evm
|
|
labels:
|
|
app: zoo-chain
|
|
app.kubernetes.io/part-of: zoo
|
|
spec:
|
|
chainId: 200200
|
|
networkRef: zoo-chain
|
|
---
|
|
apiVersion: zoo.network/v1alpha1
|
|
kind: ZooExplorer
|
|
metadata:
|
|
name: zoo-explorer
|
|
labels:
|
|
app: zoo-explorer
|
|
app.kubernetes.io/part-of: zoo
|
|
spec:
|
|
chainRef: zoo-evm
|
|
image: ghcr.io/luxfi/explorer:1.2.18
|
|
# Namespace-relative on purpose: the CR is deployed into zoo-<env>, and there
|
|
# is no `zoo` namespace on the cluster, so the old
|
|
# zoo-chain-rpc.zoo.svc.cluster.local never resolved — the indexer logged
|
|
# `no such host` every 30s and indexed zero blocks.
|
|
# The path still names the Zoo EVM, and on zoo-devnet nothing answers it yet:
|
|
# platform.getBlockchains on that validator returns only the Lux
|
|
# primary-network chains, and ZooChain zoo-evm carries no blockchainId, i.e.
|
|
# the Zoo devnet EVM has never been created. Do NOT repoint this at
|
|
# /v1/chain/c/rpc to make it respond — C-Chain is Lux's primary EVM and no
|
|
# other network uses it. zoo-testnet/zoo-mainnet override with their own
|
|
# tracked blockchainID, which is what this becomes once devnet has one.
|
|
rpcEndpoint: http://zoo-chain-rpc:9630/v1/chain/zoo/rpc
|
|
chainName: zoo
|
|
coinSymbol: ZOO
|
|
service:
|
|
serviceType: ClusterIP
|
|
port: 8090
|
|
---
|
|
apiVersion: zoo.network/v1alpha1
|
|
kind: ZooGateway
|
|
metadata:
|
|
name: zoo-gateway
|
|
labels:
|
|
app: zoo-gateway
|
|
app.kubernetes.io/part-of: zoo
|
|
spec:
|
|
networkRef: zoo-chain
|
|
hosts:
|
|
- api.zoo.network
|
|
tls:
|
|
enabled: true
|
|
secretName: zoo-network-tls
|
|
service:
|
|
serviceType: ClusterIP
|
|
rpcPort: 9630
|
|
wsPort: 9631
|