Files
Hanzo DevandGitHub ea03508ca7 feat(k8s): unify with luxfi/universe — coherent boot + snapshot-native replication (#3)
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]>
2026-06-15 22:35:51 -07:00

15 lines
730 B
YAML

# Secrets for native ZAP replication — zoo devnet. DO NOT commit real values; fill
# from KMS (lux.id / Infisical). PQ identity is restore-only (ML-KEM-768+X25519).
---
apiVersion: v1
kind: Secret
metadata: { name: replicate-s3-creds, namespace: zoo-devnet, labels: { app.kubernetes.io/part-of: zoo-network, zoo.network/network: devnet } }
type: Opaque
stringData: { REPLICATE_S3_ACCESS_KEY: "REPLACE_FROM_KMS", REPLICATE_S3_SECRET_KEY: "REPLACE_FROM_KMS" }
---
apiVersion: v1
kind: Secret
metadata: { name: replicate-age, namespace: zoo-devnet, labels: { app.kubernetes.io/part-of: zoo-network, zoo.network/network: devnet } }
type: Opaque
stringData: { REPLICATE_AGE_IDENTITY: "REPLACE_FROM_KMS" } # PQ hybrid, restore-only