Skip to main content

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-portal migration (deferred; owned by rpi_kubernetes).

Prerequisites

  • Two-node cluster already online and kubectl get nodes shows both Ready.
  • Context points to the tower cluster.
  • Auth0 tenant + client values set in alphaswarm_platform/deployments/kubernetes/base/configmaps.
  • Secrets rendered for:
    • alphaswarm-secrets (alphaswarm namespace)
    • alphaswarm-admin-secrets (alphaswarm-admin namespace)

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-master
  • postgres-shared
  • questdb (dev-sized PVC, relaxed scheduling)

3) Verify

bash scripts/verify_tower_cluster.sh
# 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.