Tower Two-Node Cluster Deploy
Deploy AlphaSwarm to the dedicated two-node cluster (alphaswarm-tower control plane +
alphaswarm-laptop WSL2 agent) before any portal migration work.
Scope
- In scope: AlphaSwarm stack bootstrap (
tower-dev), QuestDB, control-plane wiring. - Out of scope:
julianwiley-portalmigration (deferred; owned byrpi_kubernetes).
Prerequisites
- Two-node cluster already online and
kubectl get nodesshows bothReady. - Context points to the tower cluster.
- Auth0 tenant + client values set in
alphaswarm_platform/deployments/kubernetes/base/configmaps. - Secrets rendered for:
alphaswarm-secrets(alphaswarmnamespace)alphaswarm-admin-secrets(alphaswarm-adminnamespace)
1) Install cluster dependencies
bash alphaswarm_platform/scripts/cluster_install/install-redpanda.sh
bash alphaswarm_platform/scripts/cluster_install/install-questdb.sh
bash alphaswarm_platform/scripts/cluster_install/install-redpanda-connect.sh
Optional (if your target slice needs them): OpenTelemetry, kube-prometheus-stack, Phoenix, Spark Operator.
2) Apply the thin tower overlay
kubectl apply -k alphaswarm_platform/deployments/kubernetes/overlays/tower-dev/
This slice includes:
- core workloads (
alphaswarm-core,alphaswarm-worker,alphaswarm-client,alphaswarm-cp) redis-masterpostgres-sharedquestdb(dev-sized PVC, relaxed scheduling)
3) Verify
bash scripts/verify_tower_cluster.sh
4) Terraform target wiring (optional but recommended)
# Preview
python -m alphaswarm.cli.main deploy --target tower --action plan
# Apply
python -m alphaswarm.cli.main deploy --target tower --action apply
Rollback
kubectl delete -k alphaswarm_platform/deployments/kubernetes/overlays/tower-dev/
Then restore the previous known-good overlay or Terraform state.