Files
gin-gonic-prepack/config/config.go
2022-08-14 13:37:15 +02:00

50 lines
922 B
Go

package config
import (
"encoding/json"
"log"
"os"
)
type StackConfiguration struct {
ConfigLoaded bool
AllowFreshAdminGeneration bool
AdminEmails []string
AdminHmacEnv string
UserHmacEnv string
AuthedRateLimitConfig string
UnauthedRateLimitConfig string
}
var Environment = os.Getenv("STACK_ENVIRONMENT")
var configInternal = StackConfiguration{}
func Config() StackConfiguration {
return configInternal
}
func GetConfigPath(filename string) string {
if Environment == "" {
Environment = "dev"
}
return Environment + "/" + filename
}
func LoadConfig() {
file, err := os.Open(GetConfigPath("conf.json"))
if err != nil {
panic(err)
}
defer file.Close()
dec := json.NewDecoder(file)
if err := dec.Decode(&configInternal); err != nil {
panic(err)
}
configInternal.ConfigLoaded = true
log.Printf("Loaded Config for stack " + Environment)
}