Follow what documentation says we should do if we're a perf standby and perfstandbyok=true (#7241)

Follow what documentation says we should do if we're a perf standby and perfstandbyok=true, i.e. return 200 instead of 429.
This commit is contained in:
ncabatoff 2019-08-05 16:44:41 -04:00 committed by GitHub
parent 6e1360bc48
commit 233ca02dd9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 6 deletions

View file

@ -146,10 +146,14 @@ func getSysHealth(core *vault.Core, r *http.Request) (int, *HealthResponse, erro
code = sealedCode
case replicationState.HasState(consts.ReplicationDRSecondary):
code = drSecondaryCode
case !perfStandbyOK && perfStandby:
code = perfStandbyCode
case !standbyOK && standby:
code = standbyCode
case perfStandby:
if !perfStandbyOK {
code = perfStandbyCode
}
case standby:
if !standbyOK {
code = standbyCode
}
}
// Fetch the local cluster name and identifier

View file

@ -35,12 +35,12 @@ The default status codes are:
- `standbyok` `(bool: false)` Specifies if being a standby should still return
the active status code instead of the standby status code. This is useful when
Vault is behind a non-configurable load balance that just wants a 200-level
Vault is behind a non-configurable load balancer that just wants a 200-level
response. This will not apply if the node is a performance standby.
- `perfstandbyok` `(bool: false)` Specifies if being a performance standby should
still return the active status code instead of the performance standby status code.
This is useful when Vault is behind a non-configurable load balance that just wants
This is useful when Vault is behind a non-configurable load balancer that just wants
a 200-level response.
- `activecode` `(int: 200)`  Specifies the status code that should be returned