mirror of
https://github.com/ditatompel/xmr-remote-nodes.git
synced 2024-12-23 12:09:47 +00:00
0d72dd9995
The version include git current commit and branch info.
68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
package config
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
var Version string
|
|
|
|
type App struct {
|
|
// general config
|
|
LogLevel string
|
|
|
|
// configuration for server
|
|
Prefork bool
|
|
Host string
|
|
Port int
|
|
ProxyHeader string
|
|
AllowOrigin string
|
|
|
|
// configuration for prober (client)
|
|
ServerEndpoint string
|
|
APIKey string
|
|
AcceptTor bool
|
|
TorSOCKS string
|
|
}
|
|
|
|
func init() {
|
|
if Version == "" {
|
|
Version = "v0.0.0-alpha.0.000000.dev"
|
|
}
|
|
}
|
|
|
|
var app = &App{}
|
|
|
|
func AppCfg() *App {
|
|
return app
|
|
}
|
|
|
|
// loads App configuration
|
|
func LoadApp() {
|
|
// general config
|
|
app.LogLevel = os.Getenv("LOG_LEVEL")
|
|
switch app.LogLevel {
|
|
case "DEBUG":
|
|
slog.SetLogLoggerLevel(slog.LevelDebug)
|
|
case "ERROR":
|
|
slog.SetLogLoggerLevel(slog.LevelError)
|
|
case "WARN":
|
|
slog.SetLogLoggerLevel(slog.LevelWarn)
|
|
default:
|
|
slog.SetLogLoggerLevel(slog.LevelInfo)
|
|
}
|
|
|
|
// server configuration
|
|
app.Host = os.Getenv("APP_HOST")
|
|
app.Port, _ = strconv.Atoi(os.Getenv("APP_PORT"))
|
|
app.Prefork, _ = strconv.ParseBool(os.Getenv("APP_PREFORK"))
|
|
app.ProxyHeader = os.Getenv("APP_PROXY_HEADER")
|
|
app.AllowOrigin = os.Getenv("APP_ALLOW_ORIGIN")
|
|
|
|
// prober configuration
|
|
app.ServerEndpoint = os.Getenv("SERVER_ENDPOINT")
|
|
app.APIKey = os.Getenv("API_KEY")
|
|
app.AcceptTor, _ = strconv.ParseBool(os.Getenv("ACCEPT_TOR"))
|
|
app.TorSOCKS = os.Getenv("TOR_SOCKS")
|
|
}
|