Multi-node test book
Quick verification for SHC multi-node operations. Requires 2+ VMs with SSH access.
Prerequisites
Section titled “Prerequisites”export SHC_VAULT_PASSWORD=shcexport WORKER=worker-hostname # Replace with actual hostname1. Setup
Section titled “1. Setup”shc vault unlockssh admin@$WORKER "shc --version"Expected: Vault unlocked, worker accessible via SSH.
2. Node Enrollment
Section titled “2. Node Enrollment”TOKEN=$(shc node token)ssh admin@$WORKER "shc node join $TOKEN"shc node lsshc node health workerExpected: Worker joins the cluster and health check passes.
3. Cross-Node Deploy
Section titled “3. Cross-Node Deploy”shc repo add local ./apps && shc repo sync localshc install test-simple -s mn-test --node-group workersshc status mn-testExpected: Stack deployed on worker, containers running.
4. Cross-Node Operations
Section titled “4. Cross-Node Operations”shc logs -s mn-test --tail 5shc exec -s mn-test --service app -- echo helloshc stop -s mn-test && shc start -s mn-testshc clone mn-test mn-clone && shc uninstall mn-clone -yExpected: Remote logs, exec, control, and clone all work.
5. Cleanup
Section titled “5. Cleanup”shc uninstall mn-test -yshc cluster rm worker -yshc repo rm local -yExpected: All test artifacts removed.
Proxmox Automation
Section titled “Proxmox Automation”For automated VM provisioning: cd tests/proxmox && make provision && bats tests/proxmox/test_multinode.bats
Quick Smoke Test
Section titled “Quick Smoke Test”export SHC_VAULT_PASSWORD=shcexport WORKER=worker-hostnameshc vault unlockTOKEN=$(shc node token) && ssh admin@$WORKER "shc node join $TOKEN" && shc node health workershc repo add local ./apps && shc repo sync localshc install test-simple -s mn-smoke --node-group workersshc status mn-smokeshc uninstall mn-smoke -y && shc cluster rm worker -y && shc repo rm local -yecho "Multi-node smoke test passed"shc@docs:~$