advanced_http.proto

Package: envoy.config.health_checker.advanced_http.v2

Types:

Enums:
- [HealthCheckResult](#healthcheckresult)
Source File: github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto

AdvancedHttp

Same as envoy’s default HTTP health checker, but with some additions:

"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck
"responseAssertions": .envoy.config.health_checker.advanced_http.v2.ResponseAssertions

Field Type Description
httpHealthCheck .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck Http health check.
responseAssertions .envoy.config.health_checker.advanced_http.v2.ResponseAssertions If defined, the response health check rules take precedence over the http status settings defined in http_health_check.

ResponseAssertions

"responseMatchers": []envoy.config.health_checker.advanced_http.v2.ResponseMatcher
"noMatchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult

Field Type Description
responseMatchers []envoy.config.health_checker.advanced_http.v2.ResponseMatcher A bunch of match rules, the first match wins out and short-circuits.
noMatchHealth .envoy.config.health_checker.advanced_http.v2.HealthCheckResult The default health response if none of the response health checks were matches. If omitted, defaults to healthy. Note for devs: we’d probably prefer this default to unhealthy, but since the version of protoc we’re on doesn’t support optional scalars without an experimental flag, we cannot have the no_match_health field default to unhealthy while the match_health field defaults to healthy. As such, we offload this defaulting behavior to the control plane. For more reading, see https://github.com/protocolbuffers/protobuf/issues/1606#issuecomment-618687169.

ResponseMatcher

Defines a transformation template.

"responseMatch": .envoy.config.health_checker.advanced_http.v2.ResponseMatch
"matchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult

Field Type Description
responseMatch .envoy.config.health_checker.advanced_http.v2.ResponseMatch Defines the parameters to determine a single match.
matchHealth .envoy.config.health_checker.advanced_http.v2.HealthCheckResult The health response if this response_match is a match. If omitted, defaults to healthy.

ResponseMatch

ResponseMatches can be used to extract information from the request/response.

"jsonKey": .envoy.config.health_checker.advanced_http.v2.JsonKey
"ignoreErrorOnParse": bool
"header": string
"body": .google.protobuf.Empty
"regex": string

Field Type Description
jsonKey .envoy.config.health_checker.advanced_http.v2.JsonKey Configuration to get the json key. Treats the body as raw text if omitted.
ignoreErrorOnParse bool If set to true, Envoy will not throw an exception in case the json body parsing fails.
header string Extract information from headers. Only one of header or body can be set.
body .google.protobuf.Empty Extract information from the request/response body. Only one of body or header can be set.
regex string Only strings matching this regular expression will be considered a match. The most simple value for this field is ‘.*’, which matches the whole source. The field is required.

JsonKey

"path": []envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment

Field Type Description
path []envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment The path to retrieve the Value.

PathSegment

Specifies the segment in a path to retrieve value.

"key": string

Field Type Description
key string If specified, use the key to retrieve the value. If the key is not found, the value defaults to empty string.

HealthCheckResult

Description:

Name Description
healthy
degraded
unhealthy