name: deploy-cvm description: Deploy local changes to the dev TDX CVM disable-model-invocation: true allowed-tools: Bash, Read, Glob, Grep
Deploy to Dev CVM
Deploy all local changes to the TDX CVM dev environment.
Target
- SSH host:
tdx(ProxyJump through gpu26, port 10022) - Code path on CVM:
/home/root/openclaw/ - Guest OS: Alpine/BusyBox (no rsync)
Steps
Check connectivity:
ssh tdx "echo ok"Detect changed files using
git diff --name-only HEADandgit status --shortto find all modified/untracked files.Sync all changed files to the CVM, preserving directory structure. Use
scpfor each file/directory since the CVM lacks rsync. Sync to/home/root/openclaw/.Rebuild compose-api if any
compose-api/files changed:ssh tdx "cd /home/root/openclaw/compose-api && docker build --build-arg CACHEBUST=$(date +%s) -t openclaw-compose-api:local ."Rebuild worker if any
worker/files changed:ssh tdx "cd /home/root/openclaw/worker && docker build --build-arg CACHEBUST=$(date +%s) -t openclaw-nearai-worker:local ."Redeploy containers:
ssh tdx "cd /home/root/openclaw && docker compose -f deploy/docker-compose.dstack.yml --env-file deploy/.env.dstack up -d"Verify deployment:
ssh tdx "curl -s http://localhost:8080/version"
Important notes
- Always run from the project root directory
- The CVM is Alpine/BusyBox - no rsync, limited GNU flags
- Build output can be long - watch for errors at the end
- After deploy, verify with the version endpoint