diff --git a/app_test.go b/app_test.go index 669d041e0ec352cf9ce8c3cbe675ca7daebd4c9d..48a6013b3a740b84dcb0e878d38bc977d9fb09f8 100644 --- a/app_test.go +++ b/app_test.go @@ -6,7 +6,6 @@ import ( "io" "net/http" "net/http/httptest" - "os" "testing" "github.com/stretchr/testify/require" @@ -85,12 +84,6 @@ func TestHealthCheckMiddleware(t *testing.T) { }, } - // required by LoadConfig - require.NoError(t, os.Setenv("LISTEN_HTTP", ":0")) - t.Cleanup(func() { - require.NoError(t, os.Unsetenv("LISTEN_HTTP")) - }) - cfg, err := config.LoadConfig() require.NoError(t, err) cfg.General.StatusPath = "/-/healthcheck" diff --git a/internal/config/config.go b/internal/config/config.go index 9261b7059c10c61d50211d2e643eb373fef66b2f..64dc4666c39876404edcfbef89c49a62239ca693 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -291,10 +291,6 @@ func loadConfig() (*Config, error) { config.Zip.ChrootPath = *pagesRoot } - if err := validateConfig(config); err != nil { - return nil, err - } - return config, nil } diff --git a/internal/config/validate.go b/internal/config/validate.go index 87f932c01c6b918968ee244b9cc3953b0f4f158f..3831b45b561a455cc881fbe8ebfef5ef6a3b60c1 100644 --- a/internal/config/validate.go +++ b/internal/config/validate.go @@ -9,7 +9,8 @@ import ( "gitlab.com/gitlab-org/gitlab-pages/internal/config/tls" ) -func validateConfig(config *Config) error { +// Validate values populated in Config +func Validate(config *Config) error { if err := validateListeners(config); err != nil { return err } diff --git a/main.go b/main.go index 09066e2ca38f3241925aa52969ba766c035b32dd..042e597433c33fcdf8cca61a5cb96fec6b81188a 100644 --- a/main.go +++ b/main.go @@ -50,6 +50,10 @@ func appMain() { printVersion(config.General.ShowVersion, VERSION) + if err := cfg.Validate(config); err != nil { + log.WithError(err).Fatal("invalid config settings") + } + if config.Sentry.DSN != "" { initErrorReporting(config.Sentry.DSN, config.Sentry.Environment) }