Add pburl and pblastreport companion tools to the RPM
node-lookup output is useful for pivoting to Puppetboard, but there was no quick way to turn a list of hosts into Puppetboard node-page URLs or to see when each host last ran Puppet. These two tools close that gap and ship in the same RPM so they are available wherever node-lookup is. - Add pburl: reads hostnames from args or piped node-lookup output and prints "<host> <puppetboard-node-page-url>". - Add pblastreport: prints "<host>\t<last-report-time>\t<url>" using report_timestamp from the PuppetDB v4 nodes endpoint. Supports --relative/-r (relative age) and --timezone/-z <IANA> (default: local timezone). - Add internal/puppet package shared by both tools: config load, PuppetDB nodes query, Puppetboard URL construction, and no-TTY-safe stdin host reading. - Add puppetboard_url config key (env NODE_LOOKUP_PUPPETBOARD_URL) to the shared config so config init/show scaffold it for the whole tool family. - Build all three binaries individually (each is its own main package) and generate per-binary bash/zsh/fish completions in the Makefile, build-rpm.sh, and nfpm spec; cross-compile and attach all three per os/arch in the release pipeline. - Document the tools, config key, and env var in AGENTS.md.
This commit is contained in:
+37
-1
@@ -23,13 +23,25 @@ provides:
|
||||
- node-lookup
|
||||
|
||||
contents:
|
||||
# The CLI binary.
|
||||
# The CLI binaries: node-lookup and its companion tools.
|
||||
- src: dist/node-lookup
|
||||
dst: /usr/bin/node-lookup
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
- src: dist/pburl
|
||||
dst: /usr/bin/pburl
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
- src: dist/pblastreport
|
||||
dst: /usr/bin/pblastreport
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
# Shell completions (generated by scripts/build-rpm.sh before packaging).
|
||||
- src: dist/completions/node-lookup.bash
|
||||
@@ -44,3 +56,27 @@ contents:
|
||||
dst: /usr/share/fish/vendor_completions.d/node-lookup.fish
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/pburl.bash
|
||||
dst: /usr/share/bash-completion/completions/pburl
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/_pburl
|
||||
dst: /usr/share/zsh/site-functions/_pburl
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/pburl.fish
|
||||
dst: /usr/share/fish/vendor_completions.d/pburl.fish
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/pblastreport.bash
|
||||
dst: /usr/share/bash-completion/completions/pblastreport
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/_pblastreport
|
||||
dst: /usr/share/zsh/site-functions/_pblastreport
|
||||
file_info:
|
||||
mode: 0644
|
||||
- src: dist/completions/pblastreport.fish
|
||||
dst: /usr/share/fish/vendor_completions.d/pblastreport.fish
|
||||
file_info:
|
||||
mode: 0644
|
||||
|
||||
Reference in New Issue
Block a user