statping/utils/configs.go

71 lines
1.7 KiB
Go
Raw Normal View History

2020-04-16 09:57:00 +00:00
package utils
import (
"github.com/spf13/viper"
"os"
"time"
)
var (
Params *viper.Viper
)
func InitCLI() {
Params = viper.New()
2020-04-17 03:21:17 +00:00
Params.AutomaticEnv()
Directory = Params.GetString("STATPING_DIR")
//Params.SetEnvKeyReplacer(strings.NewReplacer("-", "_"))
2020-04-16 09:57:00 +00:00
setDefaults()
Params.SetConfigName("config")
Params.SetConfigType("yml")
2020-04-17 03:21:17 +00:00
Params.AddConfigPath(Directory)
Params.ReadInConfig()
2020-04-16 09:57:00 +00:00
2020-04-17 03:21:17 +00:00
Params.AddConfigPath(Directory)
2020-04-16 09:57:00 +00:00
Params.SetConfigFile(".env")
2020-04-17 03:21:17 +00:00
Params.ReadInConfig()
2020-04-16 09:57:00 +00:00
2020-04-17 03:21:17 +00:00
Params.Set("VERSION", version)
2020-04-16 09:57:00 +00:00
}
func setDefaults() {
2020-04-17 03:21:17 +00:00
if Directory == "" {
defaultDir, err := os.Getwd()
if err != nil {
defaultDir = "."
}
Params.SetDefault("STATPING_DIR", defaultDir)
Directory = defaultDir
2020-04-16 09:57:00 +00:00
}
Directory = Params.GetString("STATPING_DIR")
2020-04-17 03:21:17 +00:00
Params.SetDefault("STATPING_DIR", Directory)
2020-04-16 09:57:00 +00:00
Params.SetDefault("GO_ENV", "")
Params.SetDefault("DISABLE_LOGS", false)
2020-04-17 05:51:55 +00:00
Params.SetDefault("USE_ASSETS", false)
2020-04-16 09:57:00 +00:00
Params.SetDefault("BASE_PATH", "")
2020-04-17 05:51:55 +00:00
Params.SetDefault("ADMIN_USER", "admin")
Params.SetDefault("ADMIN_PASSWORD", "admin")
2020-04-16 09:57:00 +00:00
Params.SetDefault("MAX_OPEN_CONN", 25)
Params.SetDefault("MAX_IDLE_CONN", 25)
Params.SetDefault("MAX_LIFE_CONN", 5*time.Minute)
Params.SetDefault("SAMPLE_DATA", true)
Params.SetDefault("USE_CDN", false)
Params.SetDefault("ALLOW_REPORTS", false)
Params.SetDefault("POSTGRES_SSLMODE", "disable")
2020-04-17 03:21:17 +00:00
Params.SetDefault("SASS", "sass")
2020-04-17 05:51:55 +00:00
Params.SetDefault("REMOVE_AFTER", 2160*time.Hour)
Params.SetDefault("CLEANUP_INTERVAL", 1*time.Hour)
2020-04-16 09:57:00 +00:00
dbConn := Params.GetString("DB_CONN")
dbInt := Params.GetInt("DB_PORT")
if dbInt == 0 && dbConn != "sqlite" && dbConn != "sqlite3" {
if dbConn == "postgres" {
Params.SetDefault("DB_PORT", 5432)
}
if dbConn == "mysql" {
Params.SetDefault("DB_PORT", 3306)
}
}
}