func addCreate()

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)
}