(o *KctrlOptions, flagsFactory cmdcore.FlagsFactory)
| 50 | } |
| 51 | |
| 52 | func 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))) |
no test coverage detected