Initial QSfera import
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"ocwrapper/common"
|
||||
qsfera "ocwrapper/qsfera"
|
||||
qsferaConfig "ocwrapper/qsfera/config"
|
||||
wrapper "ocwrapper/wrapper"
|
||||
wrapperConfig "ocwrapper/wrapper/config"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
Use: "ocwrapper",
|
||||
Short: "ocwrapper is a wrapper for qsfera server",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if err := cmd.Help(); err != nil {
|
||||
fmt.Printf("error executing help command: %v\n", err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func serveCmd() *cobra.Command {
|
||||
serveCmd := &cobra.Command{
|
||||
Use: "serve",
|
||||
Short: "Starts the server",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
common.Wg.Add(2)
|
||||
|
||||
// set configs
|
||||
binFlag, _ := cmd.Flags().GetString("bin")
|
||||
qsferaConfig.Set("bin", binFlag)
|
||||
urlFlag, _ := cmd.Flags().GetString("url")
|
||||
qsferaConfig.Set("url", urlFlag)
|
||||
retryFlag, _ := cmd.Flags().GetString("retry")
|
||||
qsferaConfig.Set("retry", retryFlag)
|
||||
adminUsernameFlag, _ := cmd.Flags().GetString("admin-username")
|
||||
qsferaConfig.Set("adminUsername", adminUsernameFlag)
|
||||
adminPasswordFlag, _ := cmd.Flags().GetString("admin-password")
|
||||
qsferaConfig.Set("adminPassword", adminPasswordFlag)
|
||||
|
||||
skipQsferaRunFlag, _ := cmd.Flags().GetBool("skip-Qsfera-run")
|
||||
if !skipQsferaRunFlag {
|
||||
go qsfera.Start(nil)
|
||||
}
|
||||
portFlag, _ := cmd.Flags().GetString("port")
|
||||
go wrapper.Start(portFlag)
|
||||
},
|
||||
}
|
||||
|
||||
// serve command args
|
||||
serveCmd.Flags().SortFlags = false
|
||||
serveCmd.Flags().StringP("bin", "", qsferaConfig.Get("bin"), "Full qsfera binary path")
|
||||
serveCmd.Flags().StringP("url", "", qsferaConfig.Get("url"), "qsfera server url")
|
||||
serveCmd.Flags().StringP("retry", "", qsferaConfig.Get("retry"), "Number of retries to start qsfera server")
|
||||
serveCmd.Flags().StringP("port", "p", wrapperConfig.Get("port"), "Wrapper API server port")
|
||||
serveCmd.Flags().StringP("admin-username", "", "", "admin username for qsfera server")
|
||||
serveCmd.Flags().StringP("admin-password", "", "", "admin password for qsfera server")
|
||||
serveCmd.Flags().Bool("skip-Qsfera-run", false, "Skip running qsfera server")
|
||||
|
||||
return serveCmd
|
||||
}
|
||||
|
||||
// Execute executes the command
|
||||
func Execute() {
|
||||
rootCmd.CompletionOptions.DisableDefaultCmd = true
|
||||
|
||||
rootCmd.AddCommand(serveCmd())
|
||||
if err := rootCmd.Execute(); err != nil {
|
||||
fmt.Printf("error executing command: %v\n", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user