1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-21 13:23:07 +01:00

feat: warns against unexpected env variables (#2345)

This commit is contained in:
Amir Raminfar
2023-08-11 10:23:24 -07:00
committed by GitHub
parent 2b2d0ed97f
commit 14dd1af6df

19
main.go
View File

@@ -7,6 +7,7 @@ import (
"net/http"
"os"
"os/signal"
"reflect"
"strings"
"syscall"
"time"
@@ -232,6 +233,24 @@ func createLocalClient(args args, localClientFactory func(map[string][]string) (
}
func parseArgs() args {
argsType := reflect.TypeOf(args{})
expectedEnvs := make(map[string]bool)
for i := 0; i < argsType.NumField(); i++ {
field := argsType.Field(i)
for _, tag := range strings.Split(field.Tag.Get("arg"), ",") {
if strings.HasPrefix(tag, "env:") {
expectedEnvs[strings.TrimPrefix(tag, "env:")] = true
}
}
}
for _, env := range os.Environ() {
actual := strings.Split(env, "=")[0]
if strings.HasPrefix(actual, "DOZZLE_") && !expectedEnvs[actual] {
log.Warnf("Unexpected environment variable %s", actual)
}
}
var args args
parser := arg.MustParse(&args)
args.Filter = make(map[string][]string)