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.
- Entra (Azure AD) tenant + client values set in
alphaswarm_platform/deployments/kubernetes/base/configmaps(Auth0 has been retired org-wide; identity is Entra-only —ALPHASWARM_AUTH_PROVIDER: msal_entrainconfigmaps/alphaswarm-config.yaml). - 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-executor,alphaswarm-client,alphaswarm-cp) redis-masterpostgres-sharedquestdb(dev-sized PVC, relaxed scheduling)
3) Verify
bash alphaswarm/scripts/verify_tower_cluster.sh
(The script lives in the alphaswarm monolith checkout, not
alphaswarm_platform — adjust the path if your workspace root differs.)
4) Terraform target wiring (optional but recommended)
python -m alphaswarm.cli.main deploy is now a legacy shim that forwards to
alphaswarm-cli deploy (workspace-based, monolith-API-driven) and has no
--target/--action flags. The tower cluster's actual Terraform stack is a
plain environment under alphaswarm_platform/terraform/environments/tower/:
# Preview
cd alphaswarm_platform/terraform/environments/tower
terraform init
terraform plan
# Apply
terraform apply
Rollback
kubectl delete -k alphaswarm_platform/deployments/kubernetes/overlays/tower-dev/
Then restore the previous known-good overlay or Terraform state.