Health Discovery Service (HDS)

    Defines supported protocols etc, so the management server can assign proper endpoints to healthcheck.

    health_check_protocols

    (repeated service.health.v3.Capability.Protocol)

    Enum service.health.v3.Capability.Protocol

    [service.health.v3.Capability.Protocol proto]

    Different Envoy instances may have different capabilities (e.g. Redis) and/or have ports enabled for different protocols.

    HTTP

    (DEFAULT)

    TCP

    REDIS

    service.health.v3.HealthCheckRequest

    [service.health.v3.HealthCheckRequest proto]

    1. "node": "{...}",
    2. "capability": "{...}"
    3. }

    node

    ()

    capability

    (service.health.v3.Capability)

    1. {
    2. "endpoint": "{...}",
    3. "health_status": "..."
    4. }

    endpoint

    (config.endpoint.v3.Endpoint)

    health_status

    ()

    service.health.v3.LocalityEndpointsHealth

    Group endpoint health by locality under each cluster.

    locality

    ()

    endpoints_health

    (repeated service.health.v3.EndpointHealth)

    service.health.v3.ClusterEndpointsHealth

    [service.health.v3.ClusterEndpointsHealth proto]

    The health status of endpoints in a cluster. The cluster name and locality should match the corresponding fields in ClusterHealthCheck message.

    1. "cluster_name": "...",
    2. "locality_endpoints_health": []
    3. }

    cluster_name

    ()

    locality_endpoints_health

    (repeated service.health.v3.LocalityEndpointsHealth)

    1. "endpoints_health": [],
    2. "cluster_endpoints_health": []
    3. }

    endpoints_health

    (repeated service.health.v3.EndpointHealth) Deprecated - Flat list of endpoint health information.

    cluster_endpoints_health

    (repeated ) Organize Endpoint health information by cluster.

    service.health.v3.HealthCheckRequestOrEndpointHealthResponse

    health_check_request

    (service.health.v3.HealthCheckRequest)

    Only one of , endpoint_health_response may be set.

    endpoint_health_response

    Only one of , endpoint_health_response may be set.

    service.health.v3.LocalityEndpoints

    [service.health.v3.LocalityEndpoints proto]

    1. "locality": "{...}",
    2. "endpoints": []
    3. }

    locality

    ()

    endpoints

    (repeated config.endpoint.v3.Endpoint)

    The cluster name and locality is provided to Envoy for the endpoints that it health checks to support statistics reporting, logging and debugging by the Envoy instance (outside of HDS). For maximum usefulness, it should match the same cluster structure as that provided by EDS.

    1. {
    2. "cluster_name": "...",
    3. "health_checks": [],
    4. "locality_endpoints": [],
    5. }

    cluster_name

    (string)

    health_checks

    (repeated )

    locality_endpoints

    (repeated service.health.v3.LocalityEndpoints)

    transport_socket_matches

    (repeated ) Optional map that gets filtered by health_checks.transport_socket_match_criteria on connection when health checking. For more details, see .

    service.health.v3.HealthCheckSpecifier

    cluster_health_checks

    (repeated service.health.v3.ClusterHealthCheck)

    interval

    () The default is 1 second.