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).
24 lines
615 B
Bash
Executable File
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"
|