in pkg/kepctl/commands/create.go [28:119]
func addCreate(topLevel *cobra.Command) {
co := proposal.CreateOpts{}
cmd := &cobra.Command{
Use: "create",
Short: "Create a new KEP",
Long: "Create a new KEP using the current KEP template for the given type",
Example: ` kepctl create --name a-path --title "My KEP" --number 123 --owning-sig sig-foo`,
SilenceUsage: true,
SilenceErrors: true,
PreRunE: func(cmd *cobra.Command, args []string) error {
return co.Validate(args)
},
RunE: func(*cobra.Command, []string) error {
return runCreate(&co)
},
}
// TODO: Should these all be global args?
cmd.PersistentFlags().StringVar(
&co.Title,
"title",
"",
"KEP Title",
)
cmd.PersistentFlags().StringVar(
&co.Number,
"number",
"",
"Number",
)
cmd.PersistentFlags().StringVar(
&co.Name,
"name",
"",
"Name",
)
cmd.PersistentFlags().StringArrayVar(
&co.Authors,
"authors",
[]string{},
"Authors",
)
cmd.PersistentFlags().StringArrayVar(
&co.Reviewers,
"reviewers",
[]string{},
"Reviewers",
)
cmd.PersistentFlags().StringVar(
&co.Type,
"type",
"feature",
"KEP Type",
)
cmd.PersistentFlags().StringVarP(
&co.State,
"state",
"s",
string(api.ProvisionalStatus),
"KEP State",
)
cmd.PersistentFlags().StringVar(
&co.SIG,
"owning-sig",
"",
"Owning SIG",
)
cmd.PersistentFlags().StringArrayVar(
&co.ParticipatingSIGs,
"participating-sigs",
[]string{},
"Participating SIGs",
)
cmd.PersistentFlags().StringArrayVar(
&co.PRRApprovers,
"prr-approver",
[]string{},
"PRR Approver",
)
topLevel.AddCommand(cmd)
}