// NewCmdExpose is a wrapper for the Kubernetes cli expose command func NewCmdExpose(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command { cmd := kcmd.NewCmdExposeService(f.Factory, out) cmd.Short = "Expose a replicated application as a service or route" cmd.Long = exposeLong cmd.Example = fmt.Sprintf(exposeExample, fullName) cmd.Flags().Set("generator", "route/v1") cmd.Flag("generator").Usage = "The name of the API generator to use. Default is 'route/v1'." cmd.Flag("generator").DefValue = "route/v1" cmd.Run = func(cmd *cobra.Command, args []string) { err := validate(cmd, f, args) cmdutil.CheckErr(err) err = kcmd.RunExpose(f.Factory, out, cmd, args) cmdutil.CheckErr(err) } cmd.Flags().String("hostname", "", "Set a hostname for the new route") return cmd }
// NewCmdExpose is a wrapper for the Kubernetes cli expose command func NewCmdExpose(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command { cmd := kcmd.NewCmdExposeService(f.Factory, out) cmd.Short = "Expose a replicated application as a service or route" cmd.Long = exposeLong cmd.Example = fmt.Sprintf(exposeExample, fullName) // Default generator to an empty string so we can get more flexibility // when setting defaults based on input resources cmd.Flags().Set("generator", "") cmd.Flag("generator").Usage = "The name of the API generator to use." cmd.Flag("generator").DefValue = "" // Default protocol to an empty string so we can get more flexibility // when validating the use of it (invalid for routes) cmd.Flags().Set("protocol", "") cmd.Flag("protocol").DefValue = "" cmd.Run = func(cmd *cobra.Command, args []string) { err := validate(cmd, f, args) cmdutil.CheckErr(err) err = kcmd.RunExpose(f.Factory, out, cmd, args) cmdutil.CheckErr(err) } cmd.Flags().String("hostname", "", "Set a hostname for the new route") return cmd }