Skip to content

Make start/stop/status work from anywhere on slave nodes#47

Merged
jonathonbyrdziak merged 1 commit intomasterfrom
fix/start-stop-from-anywhere
Mar 20, 2026
Merged

Make start/stop/status work from anywhere on slave nodes#47
jonathonbyrdziak merged 1 commit intomasterfrom
fix/start-stop-from-anywhere

Conversation

@jonathonbyrdziak
Copy link
Copy Markdown
Contributor

Summary

  • Adds NodeConfig::resolveSlaveNode() — shared helper that detects slave nodes and resolves the active release/branch directory
  • protocol start [project] now works from any directory on slave nodes — finds config from ~/.protocol/.node/, resolves the active dir, and passes it to all subcommands
  • protocol stop [project] — same treatment, stops watchers and containers from anywhere
  • protocol status [project] — refactored to use the shared resolver (was already working, now consistent)
  • protocol init now automatically runs protocol start at the end of slave setup, which in turn runs protocol status — so after init completes you get the full services started and a status dashboard
  • All three commands accept an optional project argument for multi-project servers: protocol start ghostagent

Test plan

  • Run protocol init on a fresh production node — verify it auto-starts services and shows status at the end
  • Run protocol start from home directory — verify it finds the slave node and starts watchers
  • Run protocol stop from home directory — verify it stops watchers and containers
  • Run protocol status from home directory — verify full dashboard
  • Run protocol start ghostagent with project name — verify it targets the correct project
  • Run on a dev/master node (no NodeConfig) — verify existing behavior unchanged

🤖 Generated with Claude Code

Adds NodeConfig::resolveSlaveNode() shared helper that all three
commands use to detect slave nodes and resolve the active directory.

- protocol start [project]: starts watchers, docker, crontab using
  NodeConfig to find the active release/branch directory
- protocol stop [project]: stops watchers and containers from anywhere
- protocol status [project]: already worked, now uses shared resolver
- protocol init: automatically runs protocol start at the end of
  slave node setup (which then runs status for a full dashboard)

All three commands accept an optional project name argument for
multi-project servers: `protocol start ghostagent`

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jonathonbyrdziak jonathonbyrdziak merged commit be7ae9b into master Mar 20, 2026
6 of 8 checks passed
@jonathonbyrdziak jonathonbyrdziak deleted the fix/start-stop-from-anywhere branch March 20, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant