tijl.dev-core/internal/config/config.go

44 lines
816 B
Go
Raw Normal View History

2024-08-20 11:49:05 +02:00
package config
2024-08-20 13:35:49 +02:00
import (
"os"
2024-08-21 01:08:47 +02:00
log "git.tijl.dev/tijl/tijl.dev/modules/logger"
2024-08-20 13:35:49 +02:00
"gopkg.in/yaml.v3"
)
var Config *ConfigType
func Load() {
configPath := os.Getenv("TIJLDEV_CONFIG_LOCATION")
if configPath == "" {
configPath = "./config.yaml"
}
indexFile, err := os.ReadFile(configPath)
if err != nil {
2024-08-21 01:08:47 +02:00
log.Fatal().Err(err)
2024-08-20 13:35:49 +02:00
}
err = yaml.Unmarshal(indexFile, &Config)
if err != nil {
2024-08-21 01:08:47 +02:00
log.Fatal().Err(err)
2024-08-20 13:35:49 +02:00
}
2024-08-21 01:08:47 +02:00
log.Debug().Msg("loaded config")
2024-08-20 13:35:49 +02:00
}
type ConfigType struct {
2024-08-21 15:43:24 +02:00
UrlBase string `yaml:"url_base"`
JsonLogging bool `yaml:"log_json"`
DB string `yaml:"database"`
Oidc `yaml:"oidc"`
2024-08-20 13:35:49 +02:00
}
type Oidc struct {
ClientID string `yaml:"client_id"`
ClientSecret string `yaml:"client_secret"`
2024-08-21 15:43:24 +02:00
Provider string `yaml:"issuer"`
CallbackUrl string `yaml:"callback_url"`
2024-08-20 13:35:49 +02:00
}