Run cscli hubtest without being root
@@ -51,6 +51,8 @@ func initConfig() {
}
logFormatter := &log.TextFormatter{TimestampFormat: "02-01-2006 03:04:05 PM", FullTimestamp: true}
log.SetFormatter(logFormatter)
+
+ if !inSlice(os.Args[1], NoNeedConfig) {
csConfig, err = csconfig.NewConfig(ConfigFilePath, false, false)
if err != nil {
log.Fatalf(err.Error())
@@ -59,6 +61,9 @@ func initConfig() {
if err := csConfig.LoadCSCLI(); err != nil {
log.Fatalf(err.Error())
}
+ } else {
+ csConfig = csconfig.NewDefaultConfig()
+ }
if csConfig.Cscli == nil {
log.Fatalf("missing 'cscli' configuration in '%s', exiting", ConfigFilePath)
@@ -76,7 +81,6 @@ func initConfig() {
if csConfig.Cscli.Output == "" {
csConfig.Cscli.Output = "human"
}
-
if csConfig.Cscli.Output == "json" {
log.SetFormatter(&log.JSONFormatter{})
log.SetLevel(log.ErrorLevel)
@@ -107,6 +111,15 @@ func linkHandler(name string) string {
return fmt.Sprintf("/cscli/%s", name)
}
+var (
+ NoNeedConfig = []string{
+ "help",
+ "completion",
+ "version",
+ "hubtest",
+ }
+)
+
func main() {
var rootCmd = &cobra.Command{
@@ -158,7 +171,7 @@ It is meant to allow you to manage bans, parsers/scenarios/etc, api and generall
log.Fatalf("failed to hide flag: %s", err)
}
- if len(os.Args) > 1 && os.Args[1] != "completion" && os.Args[1] != "version" && os.Args[1] != "help" {
+ if len(os.Args) > 1 {
cobra.OnInitialize(initConfig)
}
