mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2025-12-23 16:42:28 +00:00
* chore: add yaml config ref * feat: add initial implementation of a traefik like cli * refactor: remove dependency on traefik * chore: update example env * refactor: update build * chore: remove unused code * fix: fix translations not loading * feat: add experimental config file support * chore: mod tidy * fix: review comments * refactor: move tinyauth to separate package * chore: add quotes to all env variables * chore: resolve go mod and sum conflicts * chore: go mod tidy * fix: review comments
36 lines
785 B
Go
36 lines
785 B
Go
package loaders
|
|
|
|
import (
|
|
"github.com/rs/zerolog/log"
|
|
"github.com/traefik/paerser/cli"
|
|
"github.com/traefik/paerser/file"
|
|
"github.com/traefik/paerser/flag"
|
|
)
|
|
|
|
type FileLoader struct{}
|
|
|
|
func (f *FileLoader) Load(args []string, cmd *cli.Command) (bool, error) {
|
|
flags, err := flag.Parse(args, cmd.Configuration)
|
|
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
// I guess we are using traefik as the root name
|
|
configFileFlag := "traefik.experimental.configFile"
|
|
|
|
if _, ok := flags[configFileFlag]; !ok {
|
|
return false, nil
|
|
}
|
|
|
|
log.Warn().Msg("Using experimental file config loader, this feature is experimental and may change or be removed in future releases")
|
|
|
|
err = file.Decode(flags[configFileFlag], cmd.Configuration)
|
|
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
|
|
return true, nil
|
|
}
|