Skip to content
Snippets Groups Projects
Commit a1c2c553 authored by Alex Ellis (VMware)'s avatar Alex Ellis (VMware) Committed by Alex Ellis
Browse files

Add scale_from_zero flag


Added scale_from_zero to config, docs and wrote unit test for the
value.

Signed-off-by: default avatarAlex Ellis (VMware) <alexellis2@gmail.com>
parent e67d45ca
No related branches found
No related tags found
No related merge requests found
......@@ -56,3 +56,4 @@ The gateway can be configured through the following environment variables:
| `direct_functions_suffix` | Provide a DNS suffix for invoking functions directly over overlay network |
| `basic_auth` | Set to `true` or `false` to enable embedded basic auth on the /system and /ui endpoints (recommended) |
| `secret_mount_path` | Set a location where you have mounted `basic-auth-user` and `basic-auth-password`, default: `/run/secrets/`. |
| `scale_from_zero` | Enables an intercepting proxy which will scale any function from 0 replicas to the desired amount |
......@@ -112,6 +112,7 @@ func (ReadConfig) Read(hasEnv HasEnv) GatewayConfig {
secretPath = "/run/secrets/"
}
cfg.SecretMountPath = secretPath
cfg.ScaleFromZero = parseBoolValue(hasEnv.Getenv("scale_from_zero"))
return cfg
}
......@@ -149,11 +150,16 @@ type GatewayConfig struct {
// If set this will be used to resolve functions directly
DirectFunctionsSuffix string
<<<<<<< HEAD
// If set, reads secrets from file-system for enabling basic auth.
UseBasicAuth bool
// SecretMountPath specifies where to read secrets from for embedded basic auth
SecretMountPath string
=======
// Enable the gateway to scale any service from 0 replicas to its configured "min replicas"
ScaleFromZero bool
>>>>>>> Add scale_from_zero flag
}
// UseNATS Use NATSor not
......
......@@ -68,6 +68,29 @@ func TestRead_DirectFunctionsOverride(t *testing.T) {
}
}
func TestRead_ScaleZeroDefaultAndOverride(t *testing.T) {
defaults := NewEnvBucket()
readConfig := ReadConfig{}
// defaults.Setenv("scale_from_zero", "true")
config := readConfig.Read(defaults)
want := false
if config.ScaleFromZero != want {
t.Logf("ScaleFromZero should be %v, got: %v", want, config.ScaleFromZero)
t.Fail()
}
defaults.Setenv("scale_from_zero", "true")
config = readConfig.Read(defaults)
want = true
if config.ScaleFromZero != want {
t.Logf("ScaleFromZero was overriden - should be %v, got: %v", want, config.ScaleFromZero)
t.Fail()
}
}
func TestRead_EmptyTimeoutConfig(t *testing.T) {
defaults := NewEnvBucket()
readConfig := ReadConfig{}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment