Brings zoo to parity with lux: the SAME luxd-boot.sh (byte-identical to luxfi/universe k8s/boot) drives every network, and native ZAP replication (PQ-encrypted, restore-on-boot) replaces the boot-time admin_importChain (RLP) path. - k8s/boot/: shared entrypoint + mainnet/testnet/devnet env (ids 1/2/3, zoo EVM chainIds 200200/200201/200202, S3 path zoo/<net>/zaprepl, endpoint s3.zoo-system). Script is byte-identical to luxfi/universe. - k8s/zoo-<net>/snapshot-native/: replicate-s3-creds + replicate-age secrets (fill from KMS) + ZooNetwork replication merge-patch. CRD already allows unknown fields, so spec.replication is accepted today. - zoo-mainnet/luxd-rlp-import.yaml: RETIRED banner; kept as the provenance record of the one-time chain-200200 seed (now in the snapshot stream). - SNAPSHOT-NATIVE-ROLLOUT.md: per-network apply order (devnet→testnet→mainnet). Requires build-zoo rebuilt on database >= v1.20.3 and zooai operator replication-env parity (mirror of luxfi/operator); until then the boot script sets REPLICATE_* itself so replication works without operator changes. Co-authored-by: Hanzo Dev <[email protected]>
1.4 KiB
1.4 KiB
Zoo snapshot-native rollout
Unifies zoo with luxfi/universe: one coherent boot (k8s/boot/luxd-boot.sh,
byte-identical to Lux) + native ZAP replication to zoo-system MinIO, replacing
the boot-time admin_importChain (RLP) path. PQ-encrypted (ML-KEM-768+X25519),
restore-on-boot.
Layout
k8s/boot/— shared entrypoint +<net>.env(mainnet/testnet/devnet).k8s/zoo-<net>/snapshot-native/—replicate-*secrets + ZooNetwork patch.k8s/zoo-mainnet/luxd-rlp-import.yaml— RETIRED; kept as provenance only.
Apply (per network; mainnet is production → prepare, then apply deliberately)
# 1. fill KMS values into 10-replicate-secret.yaml (S3 creds + PQ identity)
kubectl --context zoo-k8s -n zoo-<net> apply -f k8s/zoo-<net>/snapshot-native/10-replicate-secret.yaml
# 2. enable replication on the CR
kubectl --context zoo-k8s -n zoo-<net> patch zoonetwork zoo-chain --type=merge \
--patch-file k8s/zoo-<net>/snapshot-native/20-zoonetwork-snapshot-native.patch.yaml
# 3. roll the node image to one built against database >= v1.20.3
Order: devnet → testnet → mainnet. Requires the build-zoo image rebuilt on
database >= v1.20.3 and the zooai operator carrying the replication-env parity
(mirror of luxfi/operator); until then, point the node command at
/scripts/luxd-boot.sh (ConfigMap from k8s/boot/), which sets the
REPLICATE_* env itself.