this repo has no description
1package config
2
3import (
4 "context"
5
6 "github.com/sethvargo/go-envconfig"
7)
8
9type Repo struct {
10 ScanPath string `env:"SCAN_PATH, default=/home/git"`
11 Readme []string `env:"README"`
12 MainBranch []string `env:"MAIN_BRANCH"`
13}
14
15type Config struct {
16 Host string `env:"KNOTSERVER_HOST, default=0.0.0.0"`
17 Port int `env:"KNOTSERVER_PORT, default=5555"`
18 Secret string `env:"KNOTSERVER_SECRET, required"`
19
20 Repo Repo `env:",prefix=KNOTSERVER_REPO_"`
21}
22
23func Load(ctx context.Context) (*Config, error) {
24 var cfg Config
25 err := envconfig.Process(ctx, &cfg)
26 if err != nil {
27 return nil, err
28 }
29
30 if cfg.Repo.Readme == nil {
31 cfg.Repo.Readme = []string{
32 "README.md", "readme.md",
33 "README",
34 "readme",
35 "README.markdown",
36 "readme.markdown",
37 "README.txt",
38 "readme.txt",
39 "README.rst",
40 "readme.rst",
41 "README.org",
42 "readme.org",
43 "README.asciidoc",
44 "readme.asciidoc",
45 }
46 }
47
48 return &cfg, nil
49}