11package cmd
22
33import (
4+ "os"
5+
46 log "github.com/sirupsen/logrus"
57 "github.com/spf13/cobra"
68)
@@ -25,10 +27,30 @@ func NewRootCmd() *cobra.Command {
2527 Long : "Etherpad Toolkit is a collection for most common Etherpad maintenance tasks." ,
2628 }
2729
28- cmd .PersistentFlags ().StringVar (& etherpadUrl , "etherpad.url" , "http://localhost:9001" , "URL to access Etherpad" )
29- cmd .PersistentFlags ().StringVar (& etherpadApiKey , "etherpad.apikey" , "" , "API Key for Etherpad" )
30- cmd .PersistentFlags ().StringVar (& logLevel , "log.level" , "info" , "Log level" )
31- cmd .PersistentFlags ().StringVar (& logFormat , "log.format" , "text" , "Format for log output" )
30+ cmd .PersistentFlags ().String ("etherpad.url" , "http://localhost:9001" , "URL to access Etherpad (Env: ETHERPAD_URL)" )
31+ cmd .PersistentFlags ().String ("etherpad.apikey" , "" , "API Key for Etherpad (Env: ETHERPAD_APIKEY)" )
32+ cmd .PersistentFlags ().String ("log.level" , "info" , "Log level (Env: LOG_LEVEL)" )
33+ cmd .PersistentFlags ().String ("log.format" , "text" , "Format for log output (Env: LOG_FORMAT)" )
34+
35+ etherpadUrl = os .Getenv ("ETHERPAD_URL" )
36+ if etherpadUrl == "" {
37+ etherpadUrl = cmd .Flag ("etherpad.url" ).Value .String ()
38+ }
39+
40+ etherpadApiKey = os .Getenv ("ETHERPAD_APIKEY" )
41+ if etherpadApiKey == "" {
42+ etherpadApiKey = cmd .Flag ("etherpad.apikey" ).Value .String ()
43+ }
44+
45+ logLevel = os .Getenv ("LOG_LEVEL" )
46+ if logLevel == "" {
47+ logLevel = cmd .Flag ("log.level" ).Value .String ()
48+ }
49+
50+ logFormat = os .Getenv ("LOG_FORMAT" )
51+ if logFormat == "" {
52+ logFormat = cmd .Flag ("log.format" ).Value .String ()
53+ }
3254
3355 if logFormat == "json" {
3456 log .SetFormatter (& log.JSONFormatter {})
0 commit comments