feat: add sshot-style playbook execution, Makefile workflows, and Cobra-style CLI help - #244
Open
embh0 wants to merge 5 commits into
Open
feat: add sshot-style playbook execution, Makefile workflows, and Cobra-style CLI help#244embh0 wants to merge 5 commits into
embh0 wants to merge 5 commits into
Conversation
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>
|
|
1 similar comment
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
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. Includesexamples/playbook.yamlandexamples/playbook-inventory.yaml.bootstrap-rustuptarget that installs rustup if missing, and~/.cargo/binprepended toPATHfor all cargo targets so the Makefile works on machines without cargo onPATH.-houtput (flags grouped under Target Selection, Configuration, Authentication, Connection, Port Forwarding, Output, Execution Control, Terminal), an "Available Commands" section, full examples moved to--helpvialong_help/after_long_help, and a per-command help footer — mirroring the help layout of Go's Cobra library.needless_borrows_for_generic_argsfixes in the new playbook code.Rebased onto current
main(post-v2.3.1).cargo clippy --workspace --all-targets -- -D warningsis 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)bssh -h,bssh --help, andbssh <cmd> -houtputsrc/playbook/(condition evaluation, template rendering, parser)🤖 Generated with Claude Code
https://claude.ai/code/session_015dJq1xmuHgigcB14VCfa17