64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package args
|
|
|
|
import (
|
|
"flag"
|
|
|
|
"gitea.tecamino.com/paadi/tecamino-dbm/cert"
|
|
"gitea.tecamino.com/paadi/tecamino-dbm/models"
|
|
)
|
|
|
|
// DBM cli arguments
|
|
type Args struct {
|
|
Ip string
|
|
Port models.Port
|
|
Cert cert.Cert
|
|
AllowOrigins []string
|
|
RootDir string
|
|
DBMFile string
|
|
Debug bool
|
|
}
|
|
|
|
// initialte cli arguments
|
|
func Init() *Args {
|
|
|
|
var allowOrigins models.StringSlice
|
|
|
|
flag.Var(&allowOrigins, "allowOrigin", "Allowed origin (can repeat this flag)")
|
|
|
|
ip := flag.String("ip", "0.0.0.0", "local ip address")
|
|
organization := flag.String("org", "tecamino", "name of organization for certificate")
|
|
certFile := flag.String("certFile", "./cert/cert.pem", "path of certfile")
|
|
keyFile := flag.String("keyFile", "./cert/key.pem", "path of keyfile")
|
|
portHttp := flag.Uint("http-port", 8100, "json server communication for http/ws")
|
|
portHttps := flag.Uint("https-port", 8101, "json server communication for http/wss")
|
|
remotePort := flag.Uint("remotePort", 9500, "remote Port of gui user interface")
|
|
rootDir := flag.String("workingDir", "./", "working directory")
|
|
dbmFile := flag.String("dbm", "/test/test", "dbm file name")
|
|
debug := flag.Bool("debug", false, "debug flag")
|
|
flag.Parse()
|
|
|
|
a := Args{
|
|
Ip: *ip,
|
|
Cert: cert.Cert{
|
|
Organization: *organization,
|
|
CertFile: *certFile,
|
|
KeyFile: *keyFile,
|
|
},
|
|
Port: models.Port{
|
|
Http: *portHttp,
|
|
Https: *portHttps,
|
|
Remote: *remotePort,
|
|
},
|
|
RootDir: *rootDir,
|
|
DBMFile: *dbmFile,
|
|
Debug: *debug,
|
|
}
|
|
|
|
if len(allowOrigins) == 0 {
|
|
allowOrigins = models.StringSlice{"http://localhost:9500"}
|
|
}
|
|
|
|
a.AllowOrigins = allowOrigins
|
|
return &a
|
|
}
|