diff --git a/Makefile b/Makefile index 28b88dc..efd76fb 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,7 @@ install: build cp ${SERVER_BINARY} /usr/local/bin/${SERVER_BINARY} cp ${CLIENT_BINARY} /usr/local/bin/${CLIENT_BINARY} mkdir -p /etc/goconserver /var/log/goconserver/nodes /var/lib/goconserver + chmod 700 /etc/goconserver /var/log/goconserver/nodes /var/lib/goconserver if [ ! -f "/etc/goconserver/server.conf" ]; then \ cp etc/goconserver/server.conf /etc/goconserver/; \ diff --git a/etc/goconserver/server.conf b/etc/goconserver/server.conf index 0e9d2e7..6ebbc60 100644 --- a/etc/goconserver/server.conf +++ b/etc/goconserver/server.conf @@ -1,26 +1,27 @@ global: - host: 127.0.0.1 + host: 127.0.0.1 # the host name or ip address as the server address, If ssl/tls is enabled, hostname must be specified here. # ssl_key_file: /etc/goconserver/cert/server-key.pem # ssl_cert_file: /etc/goconserver/cert/server-cert.pem # ssl_ca_cert_file: /etc/goconserver/cert/ca.pem - logfile: "/var/log/goconserver/server.log" + logfile: "/var/log/goconserver/server.log" # the log file for goconserver daemon. log_level: "info" # debug, info, warn, error, fatal, panic - worker: 4 - storage_type: file + worker: 4 # the max cpu cores could be used + storage_type: file # file or etcd, etcd is just experimental option. api: - port: "8089" + port: "8089" # http(s) port http_timeout: 5 # in second console: - port: 12430 - datadir: "/var/lib/goconserver/" - logdir: "/var/log/goconserver/nodes/" - target_timeout: 30 - client_timeout: 30 - reconnect_interval: 5 # retry interval in seconds if console could not be connected - rpcport: 12431 + port: 12430 # the console session port for client(congo) to connect. + datadir: "/var/lib/goconserver/" # the data file to save the session node information. + logdir: "/var/log/goconserver/nodes/" # log files for session nodes. + target_timeout: 30 # timeout option to connect to the target, like BMC, hypervisor, etc. + client_timeout: 30 # timeout option for client to connect to the goconserver. + reconnect_interval: 5 # retry interval in second if console could not be connected. + rpcport: 12431 # [experimental] port for grpc server to support goconserver cluster, only available if storage_type is set to etcd. +# below is experimental option for etcd storage etcd: dail_timeout: 5 request_timeout: 2 diff --git a/glide.lock b/glide.lock index 80c85ca..a754631 100644 --- a/glide.lock +++ b/glide.lock @@ -1,14 +1,6 @@ hash: db426c3cdcf02d9cbfcc7ab8d02a355abffcdde5d8dd44042b893845e31d748a updated: 2017-10-24T11:20:58.017934428-04:00 imports: -- name: github.com/chenglch/goconserver - version: d42c6d90502c322d6bf9dd9e8a267d59ab5107e5 - subpackages: - - api - - common - - console - - plugins - - storage - name: github.com/coreos/etcd version: f1d7dd87da3e8feab4aaf675b8e29c6a5ed5f58b subpackages: diff --git a/goconserver.go b/goconserver.go index 2996d71..73b0d01 100644 --- a/goconserver.go +++ b/goconserver.go @@ -21,6 +21,7 @@ var ( ServerCmd *cobra.Command confFile string showVer bool + help bool Version string BuildTime string Commit string @@ -34,6 +35,7 @@ func init() { Long: `goconserver daemon service`} ServerCmd.Flags().StringVarP(&confFile, "config-file", "c", "/etc/goconserver/server.conf", "Specify the configuration file for goconserver daemon.") ServerCmd.Flags().BoolVarP(&showVer, "version", "v", false, "Show the version of goconserver.") + ServerCmd.Flags().BoolVarP(&help, "help", "h", false, "Show the help message of goconserver.") } func loadTlsConfig(serverConfig *common.ServerConfig) *tls.Config { @@ -61,6 +63,15 @@ func main() { fmt.Printf("Version: %s, BuildTime: %s Commit: %s\n", Version, BuildTime, Commit) os.Exit(0) } + if help { + fmt.Printf(`Usage: goconserver [flag] + -c --config-file Start the goconserver daemon service. + If not specified, use /etc/goconserver/server.conf by default. + -h --help Show the help message. + -v --version Show the version information of the goconserver.`) + fmt.Println("\n") + os.Exit(0) + } serverConfig, err := common.InitServerConfig(confFile) if err != nil { panic(err)