@@ 108,22 108,21 @@ type faceitChecker struct {
}
func main() {
- var logLevel string
- flag.StringVar(&logLevel, "log-level", "info", "logging level")
- var port int
- flag.IntVar(&port, "port", 8080, "port")
+ var configPath string
+ flag.StringVar(&configPath, "config", "/etc/faceit_checker/config.scfg", "config file path")
flag.Parse()
- logger, err := logging.New(logLevel, "text", os.Stderr)
+ cfg, err := readConfig(configPath)
if err != nil {
- slog.Error("Failed to create logger",
+ slog.Error("Failed to read config",
slog.String("error", err.Error()))
os.Exit(1)
}
- bearerToken := os.Getenv("FACEIT_BEARER")
- if bearerToken == "" {
- logger.Error("unset FACEIT_BEARER")
+ logger, err := logging.New(cfg.logLevel, cfg.logFormat, os.Stderr)
+ if err != nil {
+ slog.Error("Failed to create logger",
+ slog.String("error", err.Error()))
os.Exit(1)
}
@@ 144,7 143,7 @@ func main() {
transport := http.Transport{TLSNextProto: make(map[string]func(authority string, c *tls.Conn) http.RoundTripper)}
client := &http.Client{Timeout: time.Second * 3, Transport: &transport}
- fc := &faceitChecker{logger: logger, bearerToken: bearerToken,
+ fc := &faceitChecker{logger: logger, bearerToken: cfg.faceitBearer,
templates: tmpls, client: client}
r := http.NewServeMux()
@@ 156,7 155,7 @@ func main() {
srv := &http.Server{
Handler: r,
- Addr: fmt.Sprintf(":%d", port),
+ Addr: cfg.httpAddress,
WriteTimeout: 60 * time.Second,
ReadTimeout: 60 * time.Second,
}
@@ 3,3 3,5 @@ module faceit_go
go 1.21.0
require git.xenrox.net/~xenrox/go-utils v0.0.0-20230813142628-a8bdc9211a98
+
+require git.sr.ht/~emersion/go-scfg v0.0.0-20230601130942-e042ab15616e
@@ 1,2 1,6 @@
+git.sr.ht/~emersion/go-scfg v0.0.0-20230601130942-e042ab15616e h1:42zyo0ZFxHGkysM1B9EM7PnQNO0TEzPm+bw/2Zontyg=
+git.sr.ht/~emersion/go-scfg v0.0.0-20230601130942-e042ab15616e/go.mod h1:ybgvEJTIx5XbaspSviB3KNa6OdPmAZqDoSud7z8fFlw=
git.xenrox.net/~xenrox/go-utils v0.0.0-20230813142628-a8bdc9211a98 h1:c6B8yMLiPWj8Fqp3AeLBB86gKhdz2hfgAupaNpmMRMo=
git.xenrox.net/~xenrox/go-utils v0.0.0-20230813142628-a8bdc9211a98/go.mod h1:BM4sMPD0fqFB6eG1T/7rGgEUiqZsMpHvq4PGE861Sfk=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=