• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2022 gRPC authors.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Local copy of Envoy xDS proto file, used for testing only.
16
17syntax = "proto3";
18
19package envoy.config.core.v3;
20
21// [#protodoc-title: Health check]
22// * Health checking :ref:`architecture overview <arch_overview_health_checking>`.
23// * If health checking is configured for a cluster, additional statistics are emitted. They are
24//   documented :ref:`here <config_cluster_manager_cluster_stats>`.
25
26// Endpoint health status.
27enum HealthStatus {
28  // The health status is not known. This is interpreted by Envoy as ``HEALTHY``.
29  UNKNOWN = 0;
30
31  // Healthy.
32  HEALTHY = 1;
33
34  // Unhealthy.
35  UNHEALTHY = 2;
36
37  // Connection draining in progress. E.g.,
38  // `<https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/>`_
39  // or
40  // `<https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining>`_.
41  // This is interpreted by Envoy as ``UNHEALTHY``.
42  DRAINING = 3;
43
44  // Health check timed out. This is part of HDS and is interpreted by Envoy as
45  // ``UNHEALTHY``.
46  TIMEOUT = 4;
47
48  // Degraded.
49  DEGRADED = 5;
50}
51
52message HealthStatusSet {
53  // An order-independent set of health status.
54  repeated HealthStatus statuses = 1;
55}
56