diff options
Diffstat (limited to 'internal/feature/feature.go')
-rw-r--r-- | internal/feature/feature.go | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/internal/feature/feature.go b/internal/feature/feature.go index daf5f7c9..b01e9c7a 100644 --- a/internal/feature/feature.go +++ b/internal/feature/feature.go @@ -7,6 +7,19 @@ type Feature struct { defaultEnabled bool } +// Enabled reads the environment variable responsible for the feature flag +// if FF is disabled by default, the environment variable needs to be "true" to explicitly enable it +// if FF is enabled by default, variable needs to be "false" to explicitly disable it +func (f Feature) Enabled() bool { + env := os.Getenv(f.EnvVariable) + + if f.defaultEnabled { + return env != "false" + } + + return env == "true" +} + // RedirectsPlaceholders enables support for placeholders in redirects file // TODO: remove https://gitlab.com/gitlab-org/gitlab-pages/-/issues/620 var RedirectsPlaceholders = Feature{ @@ -25,15 +38,8 @@ var ProjectPrefixCookiePath = Feature{ defaultEnabled: false, } -// Enabled reads the environment variable responsible for the feature flag -// if FF is disabled by default, the environment variable needs to be "true" to explicitly enable it -// if FF is enabled by default, variable needs to be "false" to explicitly disable it -func (f Feature) Enabled() bool { - env := os.Getenv(f.EnvVariable) - - if f.defaultEnabled { - return env != "false" - } - - return env == "true" +// DomainRedirects enables support for domain level redirects +var DomainRedirects = Feature{ + EnvVariable: "FF_ENABLE_DOMAIN_REDIRECT", + defaultEnabled: false, } |