mirror of
https://github.com/openfaas/faas.git
synced 2025-06-09 00:36:46 +00:00
Add scale_from_zero flag
Added scale_from_zero to config, docs and wrote unit test for the value. Signed-off-by: Alex Ellis (VMware) <alexellis2@gmail.com>
This commit is contained in:
parent
e67d45caa1
commit
a1c2c553a5
@ -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{}
|
||||
|
Loading…
x
Reference in New Issue
Block a user