in server/config/config.go [130:190]
func loadServerConfig() ServerConfig {
cacheTTL := GetDuration("registry.cache.ttl", minCacheTTL, WithENV("CACHE_TTL"), WithStandby("cache_ttl"))
if cacheTTL < minCacheTTL {
cacheTTL = minCacheTTL
}
maxLogFileSize := GetInt64("log.rotateSize", 20, WithStandby("log_rotate_size"))
if maxLogFileSize <= 0 || maxLogFileSize > 50 {
maxLogFileSize = 20
}
maxLogBackupCount := GetInt64("log.backupCount", 50, WithStandby("log_backup_count"))
if maxLogBackupCount < 0 || maxLogBackupCount > 100 {
maxLogBackupCount = 50
}
accessLogFile := GetString("log.accessFile", "./access.log", WithENV("SC_ACCESS_LOG_FILE"), WithStandby("access_log_file"))
return ServerConfig{
Version: InitVersion,
// compatible with beego config's runmode
Environment: GetString("environment", "dev", WithStandby("runmode")),
Config: ServerConfigDetail{
MaxHeaderBytes: GetInt64("server.request.maxHeaderBytes", 16384, WithStandby("max_header_bytes")),
MaxBodyBytes: GetInt64("server.request.maxBodyBytes", 2097152, WithStandby("max_body_bytes")),
ReadHeaderTimeout: GetString("server.request.headerTimeout", "60s", WithStandby("read_header_timeout")),
ReadTimeout: GetString("server.request.timeout", "60s", WithStandby("read_timeout")),
IdleTimeout: GetString("server.idle.timeout", "60s", WithStandby("idle_timeout")),
WriteTimeout: GetString("server.response.timeout", "60s", WithStandby("write_timeout")),
LimitTTLUnit: GetString("server.limit.unit", "s", WithStandby("limit_ttl")),
LimitConnections: GetInt64("server.limit.connections", 0, WithStandby("limit_conns")),
LimitIPLookup: GetString("server.limit.ipLookups", "RemoteAddr,X-Forwarded-For,X-Real-IP", WithStandby("limit_iplookups")),
EnablePProf: GetInt("server.pprof.mode", 0, WithStandby("enable_pprof")) != 0,
SslEnabled: GetBool("ssl.enable", true, WithStandby("ssl_mode")),
LogRotateSize: maxLogFileSize,
LogBackupCount: maxLogBackupCount,
LogFilePath: GetString("log.file", "", WithStandby("logfile")),
LogLevel: GetString("log.level", "", WithStandby("loglevel")),
LogFormat: GetString("log.format", "text", WithStandby("log_format")),
LogSys: GetBool("log.system", false, WithStandby("log_sys")),
EnableAccessLog: GetBool("log.accessEnable", false, WithStandby("enable_access_log")),
AccessLogFile: accessLogFile,
PluginsDir: GetString("plugin.dir", "./plugins", WithStandby("plugins_dir")),
Plugins: util.NewJSONObject(),
EnableCache: GetInt("registry.cache.mode", 1, WithStandby("enable_cache")) != 0,
CacheTTL: cacheTTL,
SelfRegister: GetInt("registry.selfRegister", 1, WithStandby("self_register")) != 0,
GlobalVisible: GetString("registry.service.globalVisible", "", WithENV("CSE_SHARED_SERVICES")),
InstanceTTL: GetInt64("registry.instance.ttl", 0, WithENV("INSTANCE_TTL")),
SchemaDisable: GetBool("registry.schema.disable", false, WithENV("SCHEMA_DISABLE")),
EnableRBAC: GetBool("rbac.enable", false, WithStandby("rbac_enabled")),
},
}
}