Merge 3cff1d1696 into ca9f644bcc
This commit is contained in:
commit
ecc7564e74
3 changed files with 55 additions and 32 deletions
|
|
@ -38,36 +38,45 @@ func read(path string) (config models.Conf) {
|
|||
|
||||
viper.AutomaticEnv() // Get ENVIRONMENT variables
|
||||
|
||||
config.Host = viper.Get("HOST").(string)
|
||||
config.Port = viper.Get("PORT").(string)
|
||||
config.Theme = viper.Get("THEME").(string)
|
||||
config.Color = viper.Get("COLOR").(string)
|
||||
config.NodePath = viper.Get("NODEPATH").(string)
|
||||
config.LogLevel = viper.Get("LOG_LEVEL").(string)
|
||||
config.ArpArgs = viper.Get("ARP_ARGS").(string)
|
||||
config.Host = stripQuotes(viper.GetString("HOST"))
|
||||
config.Port = stripQuotes(viper.GetString("PORT"))
|
||||
config.Theme = stripQuotes(viper.GetString("THEME"))
|
||||
config.Color = stripQuotes(viper.GetString("COLOR"))
|
||||
config.NodePath = stripQuotes(viper.GetString("NODEPATH"))
|
||||
config.LogLevel = stripQuotes(viper.GetString("LOG_LEVEL"))
|
||||
config.ArpArgs = stripQuotes(viper.GetString("ARP_ARGS"))
|
||||
config.ArpStrs = viper.GetStringSlice("ARP_STRS")
|
||||
config.Ifaces = viper.Get("IFACES").(string)
|
||||
config.Ifaces = stripQuotes(viper.GetString("IFACES"))
|
||||
config.Timeout = viper.GetInt("TIMEOUT")
|
||||
config.TrimHist = viper.GetInt("TRIM_HIST")
|
||||
config.ShoutURL = viper.Get("SHOUTRRR_URL").(string)
|
||||
config.ShoutURL = stripQuotes(viper.GetString("SHOUTRRR_URL"))
|
||||
|
||||
config.UseDB = viper.Get("USE_DB").(string)
|
||||
config.PGConnect = viper.Get("PG_CONNECT").(string)
|
||||
config.UseDB = stripQuotes(viper.GetString("USE_DB"))
|
||||
config.PGConnect = stripQuotes(viper.GetString("PG_CONNECT"))
|
||||
|
||||
config.InfluxEnable = viper.GetBool("INFLUX_ENABLE")
|
||||
config.InfluxSkipTLS = viper.GetBool("INFLUX_SKIP_TLS")
|
||||
config.InfluxAddr, _ = viper.Get("INFLUX_ADDR").(string)
|
||||
config.InfluxToken, _ = viper.Get("INFLUX_TOKEN").(string)
|
||||
config.InfluxOrg, _ = viper.Get("INFLUX_ORG").(string)
|
||||
config.InfluxBucket, _ = viper.Get("INFLUX_BUCKET").(string)
|
||||
config.InfluxAddr = stripQuotes(viper.GetString("INFLUX_ADDR"))
|
||||
config.InfluxToken = stripQuotes(viper.GetString("INFLUX_TOKEN"))
|
||||
config.InfluxOrg = stripQuotes(viper.GetString("INFLUX_ORG"))
|
||||
config.InfluxBucket = stripQuotes(viper.GetString("INFLUX_BUCKET"))
|
||||
|
||||
config.PrometheusEnable = viper.GetBool("PROMETHEUS_ENABLE")
|
||||
|
||||
joined := viper.Get("ARP_STRS_JOINED").(string)
|
||||
joined := stripQuotes(viper.GetString("ARP_STRS_JOINED"))
|
||||
// slog.Info("ARP_STRS_JOINED: " + joined)
|
||||
|
||||
if joined != "" {
|
||||
config.ArpStrs = strings.Split(joined, ",")
|
||||
splitStrs := strings.Split(joined, ",")
|
||||
config.ArpStrs = make([]string, len(splitStrs))
|
||||
for i, str := range splitStrs {
|
||||
config.ArpStrs[i] = stripQuotes(strings.TrimSpace(str))
|
||||
}
|
||||
}
|
||||
|
||||
// Also clean quotes from ArpStrs if they were set directly
|
||||
for i, str := range config.ArpStrs {
|
||||
config.ArpStrs[i] = stripQuotes(str)
|
||||
}
|
||||
|
||||
return config
|
||||
|
|
|
|||
14
backend/internal/conf/utils.go
Normal file
14
backend/internal/conf/utils.go
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
package conf
|
||||
|
||||
import "strings"
|
||||
|
||||
// stripQuotes removes surrounding quotes from a string value
|
||||
func stripQuotes(value string) string {
|
||||
if len(value) >= 2 {
|
||||
if (strings.HasPrefix(value, `"`) && strings.HasSuffix(value, `"`)) ||
|
||||
(strings.HasPrefix(value, `'`) && strings.HasSuffix(value, `'`)) {
|
||||
return value[1 : len(value)-1]
|
||||
}
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
|
@ -17,29 +17,29 @@ func Write(config models.Conf) {
|
|||
viper.SetConfigFile(config.ConfPath)
|
||||
viper.SetConfigType("yaml")
|
||||
|
||||
viper.Set("HOST", config.Host)
|
||||
viper.Set("PORT", config.Port)
|
||||
viper.Set("THEME", config.Theme)
|
||||
viper.Set("COLOR", config.Color)
|
||||
viper.Set("NODEPATH", config.NodePath)
|
||||
viper.Set("LOG_LEVEL", config.LogLevel)
|
||||
viper.Set("ARP_ARGS", config.ArpArgs)
|
||||
viper.Set("HOST", stripQuotes(config.Host))
|
||||
viper.Set("PORT", stripQuotes(config.Port))
|
||||
viper.Set("THEME", stripQuotes(config.Theme))
|
||||
viper.Set("COLOR", stripQuotes(config.Color))
|
||||
viper.Set("NODEPATH", stripQuotes(config.NodePath))
|
||||
viper.Set("LOG_LEVEL", stripQuotes(config.LogLevel))
|
||||
viper.Set("ARP_ARGS", stripQuotes(config.ArpArgs))
|
||||
viper.Set("ARP_STRS", config.ArpStrs)
|
||||
viper.Set("ARP_STRS_JOINED", "") // Can be set only with ENV
|
||||
viper.Set("IFACES", config.Ifaces)
|
||||
viper.Set("IFACES", stripQuotes(config.Ifaces))
|
||||
viper.Set("TIMEOUT", config.Timeout)
|
||||
viper.Set("TRIM_HIST", config.TrimHist)
|
||||
viper.Set("SHOUTRRR_URL", config.ShoutURL)
|
||||
viper.Set("SHOUTRRR_URL", stripQuotes(config.ShoutURL))
|
||||
|
||||
viper.Set("USE_DB", config.UseDB)
|
||||
viper.Set("PG_CONNECT", config.PGConnect)
|
||||
viper.Set("USE_DB", stripQuotes(config.UseDB))
|
||||
viper.Set("PG_CONNECT", stripQuotes(config.PGConnect))
|
||||
|
||||
viper.Set("influx_enable", config.InfluxEnable)
|
||||
viper.Set("influx_skip_tls", config.InfluxSkipTLS)
|
||||
viper.Set("influx_addr", config.InfluxAddr)
|
||||
viper.Set("influx_token", config.InfluxToken)
|
||||
viper.Set("influx_org", config.InfluxOrg)
|
||||
viper.Set("influx_bucket", config.InfluxBucket)
|
||||
viper.Set("influx_addr", stripQuotes(config.InfluxAddr))
|
||||
viper.Set("influx_token", stripQuotes(config.InfluxToken))
|
||||
viper.Set("influx_org", stripQuotes(config.InfluxOrg))
|
||||
viper.Set("influx_bucket", stripQuotes(config.InfluxBucket))
|
||||
|
||||
viper.Set("PROMETHEUS_ENABLE", config.PrometheusEnable)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue