in vermeer/main.go [39:126]
func LoadConfig() map[string]string {
env := flag.String("env", "default", "config environment")
httpPeer := flag.String("http_peer", "", "http listen address")
grpcPeer := flag.String("grpc_peer", "", "grpc listen address")
masterPeer := flag.String("master_peer", "", "master grpc address")
prefix := flag.String("log_prefix", "", "log file full path")
runMode := flag.String("run_mode", "", "server run mode: master, worker")
logLevel := flag.String("log_level", "", "log level")
debugMode := flag.String("debug_mode", "", "debug mode")
periods := flag.String("periods", "", "periods handler")
funName := flag.String("func_name", "", "preprocess handler")
taskParallelNum := flag.String("task_parallel_num", "", "task parallel num")
auth := flag.String("auth", "", "authentication type: none, token")
authTokenFactor := flag.String("auth_token_factor", "", "token generating factor, at least 4 characters")
flag.Parse()
config := map[string]string{
"env": *env,
"http_peer": "0.0.0.0:6688",
"grpc_peer": "0.0.0.0:6689",
"master_peer": "0.0.0.0:6689",
"log_prefix": common.ServiceName + ".log",
"run_mode": "master",
}
configFile := "config/" + *env + ".ini"
if strings.HasPrefix(*env, "/") {
configFile = *env
}
cfg, err := goconfig.LoadConfigFile(configFile)
if err != nil {
panic(fmt.Sprintf("load config error: %s", err))
}
config2, _ := cfg.GetSection("default")
for k, v := range config2 {
config[k] = v
}
config["config_path"] = configFile
config["__env__"] = *env
if *httpPeer != "" {
config["http_peer"] = *httpPeer
}
if *grpcPeer != "" {
config["grpc_peer"] = *grpcPeer
}
if *masterPeer != "" {
config["master_peer"] = *masterPeer
}
if *prefix != "" {
config["log_prefix"] = *prefix
}
if *runMode != "" {
config["run_mode"] = *runMode
}
if *periods != "" {
config["periods"] = *periods
}
if *funName != "" {
config["func_name"] = *funName
}
if *taskParallelNum != "" {
config["task_parallel_num"] = *taskParallelNum
}
if *auth != "" {
config["auth"] = *auth
}
if *authTokenFactor != "" {
config["auth_token_factor"] = *authTokenFactor
}
if *logLevel != "" {
config["log_level"] = *logLevel
}
if *debugMode != "" {
config["debug_mode"] = *debugMode
}
for _, section := range cfg.GetSectionList() {
if section == "default" {
continue
}
subCfg, _ := cfg.GetSection(section)
b, _ := json.Marshal(subCfg)
config[section] = string(b)
}
return config
}