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 |
|
| `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) |
|
| `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/`. |
|
| `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/"
|
secretPath = "/run/secrets/"
|
||||||
}
|
}
|
||||||
cfg.SecretMountPath = secretPath
|
cfg.SecretMountPath = secretPath
|
||||||
|
cfg.ScaleFromZero = parseBoolValue(hasEnv.Getenv("scale_from_zero"))
|
||||||
|
|
||||||
return cfg
|
return cfg
|
||||||
}
|
}
|
||||||
@ -149,11 +150,16 @@ type GatewayConfig struct {
|
|||||||
// If set this will be used to resolve functions directly
|
// If set this will be used to resolve functions directly
|
||||||
DirectFunctionsSuffix string
|
DirectFunctionsSuffix string
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// If set, reads secrets from file-system for enabling basic auth.
|
// If set, reads secrets from file-system for enabling basic auth.
|
||||||
UseBasicAuth bool
|
UseBasicAuth bool
|
||||||
|
|
||||||
// SecretMountPath specifies where to read secrets from for embedded basic auth
|
// SecretMountPath specifies where to read secrets from for embedded basic auth
|
||||||
SecretMountPath string
|
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
|
// 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) {
|
func TestRead_EmptyTimeoutConfig(t *testing.T) {
|
||||||
defaults := NewEnvBucket()
|
defaults := NewEnvBucket()
|
||||||
readConfig := ReadConfig{}
|
readConfig := ReadConfig{}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user