// Package cmd : Parse les arguments // Arguments : version ==> version d'OpenCloud // Argument : projet ==> nom du projet package cmd import ( "strings" "github.com/spf13/cobra" log "oc-deploy/log_wrapper" ) var ( context string version string modules []string ) func Execute() { log.Log().Debug().Msg("Execute") var rootCmd = &cobra.Command{Use: "oc-deploy"} var cmdInstall = &cobra.Command{ Use: "install", Short: "deploy", Long: `deploy Charts`, Args: cobra.MaximumNArgs(0), Run: func(cmd *cobra.Command, args []string) { InstallCmd(context, version, strings.Split(modules, ",")) }, Example: "oc-deploy install --version 1.0 --context ex1", } var cmdUninstall = &cobra.Command{ Use: "uninstall", Short: "undeploy", Long: `Undeploy`, Args: cobra.MaximumNArgs(0), Run: func(cmd *cobra.Command, args []string) { UninstallCmd(context) }, Example: "oc-deploy uninstall --context ex1", } var cmdGenerate = &cobra.Command{ Use: "generate", Short: "generate", Long: "Value", Args: cobra.MaximumNArgs(0), Run: func(cmd *cobra.Command, args []string) { GenerateCmd(context, version) }, Example: "oc-deploy generate --version 1.0 --context ex1", } cmdInstall.Flags().StringVarP(&context, "context", "p", "opencloud", "Nom du projet") cmdInstall.Flags().StringVarP(&version, "version", "v", "latest", "Version") cmdInstall.Flags().StringArrayVarP(&modules, "modules", "m", "", "modules, ...") cmdUninstall.Flags().StringVarP(&context, "context", "p", "opencloud", "Nom du projet") cmdGenerate.Flags().StringVarP(&context, "context", "p", "opencloud", "Nom du projet") cmdGenerate.Flags().StringVarP(&version, "version", "v", "latest", "Version") rootCmd.AddCommand(cmdInstall) rootCmd.AddCommand(cmdUninstall) rootCmd.AddCommand(cmdGenerate) cobra.CheckErr(rootCmd.Execute()) }