Skip to content

feat: add sshot-style playbook execution, Makefile workflows, and Cobra-style CLI help - #244

Open
embh0 wants to merge 5 commits into
lablup:mainfrom
embh0:feat/playbooks-upstream
Open

feat: add sshot-style playbook execution, Makefile workflows, and Cobra-style CLI help#244
embh0 wants to merge 5 commits into
lablup:mainfrom
embh0:feat/playbooks-upstream

Conversation

@embh0

@embh0 embh0 commented Jul 30, 2026

Copy link
Copy Markdown

Summary

Adds a lightweight, sshot-style playbook execution mode to bssh, plus Makefile-based developer workflows and a Cobra-style restructure of the CLI help output.

  • Playbook execution (src/playbook/): YAML playbooks with plays, tasks, inventories, variables, fact gathering, conditions (==, !=, is defined, is not defined), register, retries, timeouts, delegate_to, run_once, sudo, and group ordering/dependencies. Includes examples/playbook.yaml and examples/playbook-inventory.yaml.
  • Makefile workflows: common build/test/lint targets, a bootstrap-rustup target that installs rustup if missing, and ~/.cargo/bin prepended to PATH for all cargo targets so the Makefile works on machines without cargo on PATH.
  • Cobra-style CLI help: compact grouped -h output (flags grouped under Target Selection, Configuration, Authentication, Connection, Port Forwarding, Output, Execution Control, Terminal), an "Available Commands" section, full examples moved to --help via long_help/after_long_help, and a per-command help footer — mirroring the help layout of Go's Cobra library.
  • Clippy: needless_borrows_for_generic_args fixes in the new playbook code.

Rebased onto current main (post-v2.3.1). cargo clippy --workspace --all-targets -- -D warnings is clean on both the pinned toolchain and current stable.

Test plan

  • cargo test --lib (full suite passed on the pre-rebase branch; 1247 passed, 0 failed)
  • Manual verification of bssh -h, bssh --help, and bssh <cmd> -h output
  • Playbook unit tests included under src/playbook/ (condition evaluation, template rendering, parser)

🤖 Generated with Claude Code

https://claude.ai/code/session_015dJq1xmuHgigcB14VCfa17

embh0 and others added 5 commits July 30, 2026 13:24
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Short one-line help for -h with grouped flag headings, full detail
and examples under --help, plus an Available Commands section and
per-command help footer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cla-assistant

cla-assistant Bot commented Jul 30, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

1 similar comment
@cla-assistant

cla-assistant Bot commented Jul 30, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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