diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/govanity/e2e_test.go | 13 | ||||
-rw-r--r-- | tools/govanity/main.go | 27 |
2 files changed, 22 insertions, 18 deletions
diff --git a/tools/govanity/e2e_test.go b/tools/govanity/e2e_test.go index 4ec299a..157bcc2 100644 --- a/tools/govanity/e2e_test.go +++ b/tools/govanity/e2e_test.go @@ -1,12 +1,9 @@ package main import ( - "io/ioutil" "net" "net/http" "testing" - - "gopkg.in/yaml.v3" ) func TestConfigurationURL(t *testing.T) { @@ -17,15 +14,9 @@ func TestConfigurationURL(t *testing.T) { t.Skipf("no network connectivity: %v", err) } - buf, err := ioutil.ReadFile("vanity.yaml") - if err != nil { - t.Fatalf("failed to read the configuration file: %v", err) - } - - cfg := &config{} - err = yaml.Unmarshal(buf, cfg) + cfg, err := loadConfig() if err != nil { - t.Fatalf("failed to parse the YAML configuration: %v", err) + t.Fatal(err) } for _, r := range cfg.Repositories { diff --git a/tools/govanity/main.go b/tools/govanity/main.go index dd6d653..d74db9b 100644 --- a/tools/govanity/main.go +++ b/tools/govanity/main.go @@ -4,6 +4,7 @@ import ( "bytes" "embed" "flag" + "fmt" "html/template" "io/ioutil" "log" @@ -36,15 +37,10 @@ type moduleTmpl struct { func main() { flag.Parse() - buf, err := ioutil.ReadFile("vanity.yaml") - if err != nil { - log.Fatalf("failed to read the configuration: %+v", err) - } - cfg := &config{} - err = yaml.Unmarshal(buf, cfg) + cfg, err := loadConfig() if err != nil { - log.Fatalf("failed to parse the YAML configuration: %+v", err) + log.Fatal(err) } http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { @@ -58,6 +54,23 @@ func main() { log.Fatal(http.ListenAndServe(":8080", nil)) } +func loadConfig() (*config, error) { + configPath := "./vanity.yaml" + + configYaml, err := ioutil.ReadFile(configPath) + if err != nil { + return nil, fmt.Errorf("failed to read configuration file %s: %v", configPath, err) + } + + var cfg config + err = yaml.Unmarshal(configYaml, &cfg) + if err != nil { + return nil, fmt.Errorf("failed to unmarshall configuration: %v", err) + } + + return &cfg, nil +} + func goGet(cfg *config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { |