Files
universe/deploy.sh
T
Hanzo AI ee6e8d7aee feat: Zoo K8s infrastructure — 3 clusters, kustomize overlays
3 DOKS clusters created (all SFO3):
  zoo-k8s (prod, 3 nodes)
  zoo-test-k8s (testnet, 1 node)
  zoo-dev-k8s (devnet, 1 node)

Manifests:
  base/ — namespace, operator, network, mpc, bridge, explorer, sql, kv, ingress
  zoo-devnet/ — chain 200202, 1 validator, devnet overlay
  zoo-testnet/ — chain 200201, 3 validators, testnet overlay
  zoo-prod/ — chain 200200, 5 validators, prod overlay

All config from KMS. Zero hardcoded secrets.
IAM + KMS stay on hanzo-k8s (serve *.zoo.network already).
Uses luxfi/operator for LuxNetwork CRDs (Zoo is a Lux subnet).
2026-03-30 23:59:04 -07:00

24 lines
615 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
ENV=${1:-dev}
case $ENV in
dev) CTX=do-sfo3-hanzo-dev-k8s; NS=zoo ;;
test) CTX=do-sfo3-hanzo-test-k8s; NS=zoo ;;
prod) CTX=do-sfo3-hanzo-k8s; NS=zoo-system ;;
*) echo "Usage: $0 {dev|test|prod}"; exit 1 ;;
esac
echo "Deploying Zoo to $CTX (namespace: $NS)..."
# Apply CRDs first (cluster-scoped, idempotent)
kubectl --context "$CTX" apply -f k8s/crds/
# Apply overlay
kubectl --context "$CTX" apply -k "k8s/zoo-$ENV/"
echo "Done. Check: kubectl --context $CTX -n $NS get pods"