поправил флаги

This commit is contained in:
Alexander NeonXP Kiryukhin 2024-04-06 22:16:56 +03:00
parent 33f9af3918
commit fcb71b492a
Signed by: NeonXP
GPG key ID: 35E33E1AB7776B39

13
main.go
View file

@ -3,6 +3,7 @@ package main
import ( import (
"context" "context"
"encoding/json" "encoding/json"
"flag"
"html/template" "html/template"
"log/slog" "log/slog"
"net/http" "net/http"
@ -15,19 +16,17 @@ import (
var ( var (
templates = template.Must(template.ParseFS(tplFS, "tpl/*.gohtml")) templates = template.Must(template.ParseFS(tplFS, "tpl/*.gohtml"))
packages = Packages{} packages = Packages{}
bindAddr = flag.String("bind", ":8080", "Address to bind")
config = flag.String("config", "/etc/pkg/config.json", "Config file path")
) )
func main() { func main() {
addr := os.Getenv("ADDR")
if addr == "" {
addr = ":8080"
}
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, os.Kill) ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, os.Kill)
defer cancel() defer cancel()
cfg := &Config{} cfg := &Config{}
fp, err := os.Open("./config.json") fp, err := os.Open(*config)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -73,14 +72,14 @@ func main() {
srv := &http.Server{ srv := &http.Server{
Handler: h, Handler: h,
Addr: addr, Addr: *bindAddr,
} }
go func() { go func() {
<-ctx.Done() <-ctx.Done()
srv.Shutdown(context.Background()) srv.Shutdown(context.Background())
}() }()
logger.Info("server started", slog.String("bind", addr)) logger.Info("server started", slog.String("bind", *bindAddr))
if err := srv.ListenAndServe(); err != http.ErrServerClosed { if err := srv.ListenAndServe(); err != http.ErrServerClosed {
panic(err) panic(err)
} }