MCPcopy Create free account
hub / github.com/carvel-dev/kapp-controller / NewKctrlCmd

Function NewKctrlCmd

cli/pkg/kctrl/cmd/kctrl.go:52–120  ·  view source on GitHub ↗
(o *KctrlOptions, flagsFactory cmdcore.FlagsFactory)

Source from the content-addressed store, hash-verified

50}
51
52func NewKctrlCmd(o *KctrlOptions, flagsFactory cmdcore.FlagsFactory) *cobra.Command {
53 cmd := &cobra.Command{
54 Use: "kctrl",
55 Short: "kctrl helps to manage packages and repositories on your Kubernetes cluster",
56
57 RunE: cobrautil.ShowHelp,
58
59 // Affects children as well
60 SilenceErrors: true,
61 SilenceUsage: true,
62
63 // Disable docs header
64 DisableAutoGenTag: true,
65 Version: version.Version,
66
67 // TODO bash completion
68 }
69
70 cmd.SetOut(uiBlockWriter{o.ui}) // setting output for cmd.Help()
71
72 cmd.SetUsageTemplate(cobrautil.HelpSectionsUsageTemplate([]cobrautil.HelpSection{
73 cmdcore.PackageHelpGroup,
74 cmdcore.AppHelpGroup,
75 cmdcore.DevHelpGroup,
76 cmdcore.RestOfCommandsHelpGroup,
77 }))
78
79 pkgOpts := cmdcore.PackageCommandTreeOpts{BinaryName: "kctrl", Color: true, JSON: true}
80
81 setGlobalFlags(o, cmd, flagsFactory, pkgOpts)
82
83 configurePathResolvers(o, cmd, flagsFactory)
84
85 cmd.AddCommand(NewVersionCmd(NewVersionOptions(o.ui, o.depsFactory), flagsFactory))
86
87 pkgCmd := cmdpkg.NewCmd()
88 pkgCmd.SetUsageTemplate(cobrautil.HelpSectionsUsageTemplate([]cobrautil.HelpSection{
89 cmdcore.PackageManagementCommandsHelpGroup,
90 cmdcore.PackageAuthoringCommandsHelpGroup,
91 cmdcore.PackageRepoHelpGroup,
92 cmdcore.RestOfCommandsHelpGroup,
93 }))
94 AddPackageCommands(o, pkgCmd, flagsFactory, pkgOpts)
95
96 cmd.AddCommand(pkgCmd)
97
98 appCmd := app.NewCmd()
99 appCmd.SetUsageTemplate(cobrautil.HelpSectionsUsageTemplate([]cobrautil.HelpSection{
100 cmdcore.AppManagementCommandsHelpGroup,
101 cmdcore.RestOfCommandsHelpGroup,
102 }))
103 appCmd.AddCommand(app.NewGetCmd(app.NewGetOptions(o.ui, o.depsFactory, o.logger, &o.UIFlags.Columns), flagsFactory))
104 appCmd.AddCommand(app.NewListCmd(app.NewListOptions(o.ui, o.depsFactory, o.logger, &o.UIFlags.Columns), flagsFactory))
105 appCmd.AddCommand(app.NewStatusCmd(app.NewStatusOptions(o.ui, o.depsFactory, o.logger, &o.UIFlags.Columns), flagsFactory))
106 appCmd.AddCommand(app.NewPauseCmd(app.NewPauseOptions(o.ui, o.depsFactory, o.logger), flagsFactory))
107 appCmd.AddCommand(app.NewKickCmd(app.NewKickOptions(o.ui, o.depsFactory, o.logger), flagsFactory))
108 appCmd.AddCommand(app.NewDeleteCmd(app.NewDeleteOptions(o.ui, o.depsFactory, o.logger), flagsFactory))
109 appCmd.AddCommand(app.NewInitCmd(app.NewInitOptions(o.ui, o.depsFactory, o.logger)))

Callers 1

NewDefaultKctrlCmdFunction · 0.85

Calls 15

NewCmdFunction · 0.92
NewGetCmdFunction · 0.92
NewGetOptionsFunction · 0.92
NewListCmdFunction · 0.92
NewListOptionsFunction · 0.92
NewStatusCmdFunction · 0.92
NewStatusOptionsFunction · 0.92
NewPauseCmdFunction · 0.92
NewPauseOptionsFunction · 0.92
NewKickCmdFunction · 0.92
NewKickOptionsFunction · 0.92
NewDeleteCmdFunction · 0.92

Tested by

no test coverage detected