Skip to content
SHC Docs

Single-node test book

Quick manual verification for SHC. Run on a single node with Docker.

Terminal window
export SHC_VAULT_PASSWORD=shc

Terminal window
shc --version
shc vault unlock
shc repo add local ./apps && shc repo sync local

Expected: Version displayed, vault unlocked, repo synced without errors.


Terminal window
shc install test-simple -s smoke
shc ls # Shows "smoke" stack
shc status smoke # Shows deployment + service health
shc stop -s smoke
shc start -s smoke
shc uninstall smoke -y

Expected: Stack installs, stops, starts, uninstalls cleanly.


Terminal window
shc install test-simple -s ops-test
shc logs -s ops-test --tail 5
shc exec -s ops-test --service app -- echo hello
shc restart -s ops-test
shc upgrade ops-test

Expected: Logs shown, exec returns “hello”, restart and upgrade complete.


Terminal window
mkdir -p /tmp/shc-backup-repo
shc config set backup.repo "/tmp/shc-backup-repo" --scope base
shc config set backup.password "test-password" --scope base
shc backup create -s ops-test
shc backup ls -s ops-test
shc backup restore -s ops-test --before 1h --yes

Expected: Backup created and listed; the --before restore picks the pre-upgrade safety snapshot from step 3 and completes.


Terminal window
shc clone ops-test ops-clone
shc ls # Shows both stacks
shc uninstall ops-clone -y
shc move ops-test ops-renamed
shc ls # Shows "ops-renamed"

Expected: Clone creates copy, move renames stack.


Terminal window
shc config set test.key "test-value" --scope base
shc config get test.key
shc config unset test.key --scope base
shc vault set MY_SECRET "secret-value"
shc vault ls
shc vault get MY_SECRET
shc vault rm MY_SECRET -y

Expected: Config and vault operations succeed, values match.


Terminal window
shc schedule add -s ops-renamed backup "@daily"
shc schedule ls -s ops-renamed
shc schedule rm -s ops-renamed backup -y

Expected: Schedule added, listed, removed.


Terminal window
shc validate ./apps/test-simple

Expected: Validation passes with no errors.


Terminal window
shc uninstall ops-renamed -y
shc repo rm local -y
rm -rf /tmp/shc-backup-repo
shc ls # Empty

Expected: All test artifacts removed.


Fastest possible verification (~30 seconds):

Terminal window
export SHC_VAULT_PASSWORD=shc
shc vault unlock
shc repo add local ./apps && shc repo sync local
shc install test-simple -s smoke
shc status smoke
shc stop -s smoke && shc start -s smoke
shc uninstall smoke -y
shc repo rm local -y
echo "Smoke test passed"