chain works
This commit is contained in:
45
config/config.go
Normal file
45
config/config.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func flagEnvFallback(keyFallback map[string]string) map[string]string {
|
||||
results := map[string]*string{}
|
||||
for k, v := range keyFallback {
|
||||
results[k] = flag.String(k, v, "")
|
||||
}
|
||||
flag.Parse()
|
||||
final := map[string]string{}
|
||||
for k := range results {
|
||||
if *results[k] == keyFallback[k] && os.Getenv(strings.ToUpper(k)) != "" {
|
||||
*results[k] = os.Getenv(strings.ToUpper(k))
|
||||
}
|
||||
final[k] = *results[k]
|
||||
}
|
||||
return final
|
||||
}
|
||||
|
||||
func New() map[string]string {
|
||||
conf := flagEnvFallback(map[string]string{
|
||||
"toaddr": "https://bel.house:20018",
|
||||
"mycrt": "/Volumes/bldisk/client.crt",
|
||||
"mykey": "/Volumes/bldisk/client.key",
|
||||
"tocrt": "/Volumes/bldisk/server.crt",
|
||||
"fromcrt": "/Volumes/bldisk/accept.crt",
|
||||
"port": "8888",
|
||||
"whitelist": "192.168.0.86,,bel.house,,minio.gcp.blapointe.com",
|
||||
"bypass": "plex.tv",
|
||||
"secure": "gcp.blapointe.com",
|
||||
"secret": "secret",
|
||||
})
|
||||
if !strings.HasPrefix(conf["port"], ":") {
|
||||
conf["port"] = ":" + conf["port"]
|
||||
}
|
||||
if len(conf["bypass"]) != 0 {
|
||||
conf["whitelist"] += ",," + conf["bypass"]
|
||||
}
|
||||
return conf
|
||||
}
|
||||
Reference in New Issue
Block a user