Files
canada-kaktus/internal/config.go
Tobias Trabelsi e51594fdd7
Some checks failed
Gitea Docker Build Demo / Test (push) Successful in 2m24s
Gitea Docker Build Demo / Build_Image (push) Failing after 1m40s
Release / Test (release) Successful in 2m22s
Release / Build_Image (release) Failing after 44s
feature/tt/initial-implementation (#1)
Reviewed-on: #1
Co-authored-by: Tobias Trabelsi <lerentis@uploadfilter24.eu>
Co-committed-by: Tobias Trabelsi <lerentis@uploadfilter24.eu>
2025-10-06 09:21:57 +00:00

31 lines
703 B
Go

package internal
import (
"fmt"
"time"
"github.com/jinzhu/configor"
)
type Config = struct {
LogLevel string `default:"Info" env:"CANADA_KAKTUS_LOGLEVEL"`
LabelSelector string `default:"kops.k8s.io/instance-role=Node" env:"CANADA_KAKTUS_LABELSELECTOR"`
HcloudToken string `default:"" env:"CANADA_KAKTUS_HCLOUD_TOKEN"`
}
func GenConfig() (cfg *Config, err error) {
cfg = &Config{}
err = configor.New(&configor.Config{
ENVPrefix: "CANADA_KAKTUS",
AutoReload: true,
Silent: true,
AutoReloadInterval: time.Minute}).Load(cfg, "config.json")
if err != nil {
return nil, fmt.Errorf("error generating Config: %s", err.Error())
}
return cfg, nil
}