cli,docs: trivial polish for v0.1.0
A pre-release audit collected ~12 trivial-effort UX and code-hygiene
items. Rolling them up here so the v0.1.0 commit log isn't littered
with one-line tweaks.
CLI help / completion:
* commands_image.go: drop dangling reference to a `banger image
catalog` subcommand that doesn't exist; replace with a pointer
to `banger image list`.
* commands_image.go: --size flag example was "4GiB" but the parser
rejects that suffix. Change example to "4G". (Parser-side fix
is in a separate concern.)
* commands_image.go + completion.go: image pull now wires a
catalog completer (falls back to local image names since there's
no image-catalog RPC yet); image show / delete / promote already
completed local names.
* commands_kernel.go + completion.go: kernel pull now wires a new
completeKernelCatalogNameOnlyAtPos0 backed by the kernel.catalog
RPC, so tab-complete suggests pullable kernels.
* commands_vm.go: vm stats and vm set now have Long + Example
blocks (peers all do); --from flag description updated to spell
out the relationship to --branch.
README:
* Define "golden image" inline at first use.
* Add a one-line Requirements block above Quick Start so users
hit the firecracker / KVM dependency before `make build`.
Code hygiene:
* dashIfEmpty / emptyDash were the same function. Deleted
emptyDash, retargeted three call sites.
* formatBytes (introduced today in image cache prune) duplicated
humanSize. Consolidated to humanSize, now with a space ("1.2
GiB" not "1.2GiB"). formatters_test.go expectations updated.
Logging chattiness:
* "operation started" (logger.go), "daemon request canceled"
(daemon.go), and "helper rpc completed" (roothelper.go) all
fired at INFO per RPC. Downgraded to DEBUG so routine shell
completions don't spam syslog.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4d8dca6b72
commit
003b0488ce
10 changed files with 86 additions and 66 deletions
|
|
@ -106,7 +106,7 @@ in flight when you run prune, that pull may fail and need a retry.
|
|||
verb = "would free"
|
||||
}
|
||||
_, err = fmt.Fprintf(out, "%s %s across %d blob(s) in %s\n",
|
||||
verb, formatBytes(result.BytesFreed), result.BlobsFreed, result.CacheDir)
|
||||
verb, humanSize(result.BytesFreed), result.BlobsFreed, result.CacheDir)
|
||||
return err
|
||||
},
|
||||
}
|
||||
|
|
@ -114,26 +114,6 @@ in flight when you run prune, that pull may fail and need a retry.
|
|||
return cmd
|
||||
}
|
||||
|
||||
// formatBytes renders a byte count as a short human-readable string
|
||||
// (e.g. "1.2 GiB", "456 MiB"). Zero stays "0 B" for clarity.
|
||||
func formatBytes(n int64) string {
|
||||
const (
|
||||
ki = 1024
|
||||
mi = ki * 1024
|
||||
gi = mi * 1024
|
||||
)
|
||||
switch {
|
||||
case n >= gi:
|
||||
return fmt.Sprintf("%.1f GiB", float64(n)/float64(gi))
|
||||
case n >= mi:
|
||||
return fmt.Sprintf("%.1f MiB", float64(n)/float64(mi))
|
||||
case n >= ki:
|
||||
return fmt.Sprintf("%.1f KiB", float64(n)/float64(ki))
|
||||
default:
|
||||
return fmt.Sprintf("%d B", n)
|
||||
}
|
||||
}
|
||||
|
||||
func (d *deps) newImageRegisterCommand() *cobra.Command {
|
||||
var params api.ImageRegisterParams
|
||||
cmd := &cobra.Command{
|
||||
|
|
@ -175,8 +155,9 @@ func (d *deps) newImagePullCommand() *cobra.Command {
|
|||
sizeRaw string
|
||||
)
|
||||
cmd := &cobra.Command{
|
||||
Use: "pull <name-or-oci-ref>",
|
||||
Short: "Pull an image bundle (catalog name) or OCI image and register it",
|
||||
Use: "pull <name-or-oci-ref>",
|
||||
Short: "Pull an image bundle (catalog name) or OCI image and register it",
|
||||
ValidArgsFunction: d.completeImageCatalogNameOnlyAtPos0,
|
||||
Long: strings.TrimSpace(`
|
||||
Pull an image into banger. Two paths:
|
||||
|
||||
|
|
@ -190,8 +171,7 @@ Pull an image into banger. Two paths:
|
|||
banger's guest agents. --kernel-ref or direct --kernel/--initrd/
|
||||
--modules are required.
|
||||
|
||||
Use 'banger image catalog' to see available catalog names (once that
|
||||
subcommand lands).
|
||||
Use 'banger image list' to see installed images.
|
||||
`),
|
||||
Example: strings.TrimSpace(`
|
||||
banger image pull debian-bookworm
|
||||
|
|
@ -235,7 +215,7 @@ subcommand lands).
|
|||
cmd.Flags().StringVar(¶ms.InitrdPath, "initrd", "", "initrd path")
|
||||
cmd.Flags().StringVar(¶ms.ModulesDir, "modules", "", "modules dir")
|
||||
cmd.Flags().StringVar(¶ms.KernelRef, "kernel-ref", "", "name of a cataloged kernel (see 'banger kernel list')")
|
||||
cmd.Flags().StringVar(&sizeRaw, "size", "", "ext4 image size (e.g. 4GiB); defaults to content + 25%, min 1GiB")
|
||||
cmd.Flags().StringVar(&sizeRaw, "size", "", "ext4 image size (e.g. 4G); defaults to content + 25%, min 1GiB")
|
||||
_ = cmd.RegisterFlagCompletionFunc("kernel-ref", d.completeKernelNames)
|
||||
return cmd
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue