Files
warewulf/internal/app/wwctl/image/list/root.go
Jonathon Anderson 3b963ee5a6 Simplify node, profile, and image completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:38:27 -07:00

35 lines
1.2 KiB
Go

package list
import (
"github.com/spf13/cobra"
"github.com/warewulf/warewulf/internal/app/wwctl/completions"
)
type variables struct {
full bool
size bool
kernel bool
chroot bool
compressed bool
}
// GetRootCommand returns the root cobra.Command for the application.
func GetCommand() *cobra.Command {
vars := variables{}
baseCmd := &cobra.Command{
DisableFlagsInUseLine: true,
Use: "list [OPTIONS]",
Short: "List imported Warewulf images",
Long: "This command will show you the images that are imported into Warewulf.",
RunE: CobraRunE(&vars),
Aliases: []string{"ls"},
ValidArgsFunction: completions.Images,
}
baseCmd.PersistentFlags().BoolVarP(&vars.full, "long", "l", false, "show all")
baseCmd.PersistentFlags().BoolVarP(&vars.kernel, "kernel", "k", false, "show kernel version")
baseCmd.PersistentFlags().BoolVarP(&vars.size, "size", "s", false, "show size information")
baseCmd.PersistentFlags().BoolVarP(&vars.chroot, "chroot", "c", false, "show size of chroot")
baseCmd.PersistentFlags().BoolVar(&vars.compressed, "compressed", false, "show size of the compressed image")
return baseCmd
}