Skip to content

Commit d62109a

Browse files
rene-m-hernandezSnow Pettersen
authored andcommitted
Updated protobuf definitions (#118)
api: update Envoy & Google API - Add missing Google proto definition to tools script - Exclude v3alpha from protoc (duplicate of v2) Signed-off-by: Rene Hernandez <[email protected]>
1 parent 8afd4f8 commit d62109a

File tree

216 files changed

+14210
-494
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

216 files changed

+14210
-494
lines changed

api/src/main/proto/envoy/admin/v2alpha/config_dump.proto

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ import "envoy/config/bootstrap/v2/bootstrap.proto";
1616
import "google/protobuf/any.proto";
1717
import "google/protobuf/timestamp.proto";
1818

19-
import "gogoproto/gogo.proto";
20-
2119
// [#protodoc-title: ConfigDump]
2220

2321
// The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper

api/src/main/proto/envoy/admin/v2alpha/server_info.proto

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ message ServerInfo {
3636
// Uptime since the start of the first epoch.
3737
google.protobuf.Duration uptime_all_epochs = 4;
3838

39+
// Hot restart version.
40+
string hot_restart_version = 5;
41+
3942
// Command line options the server is currently running with.
4043
CommandLineOptions command_line_options = 6;
4144
}
@@ -53,8 +56,11 @@ message CommandLineOptions {
5356
// See :option:`--config-yaml` for details.
5457
string config_yaml = 4;
5558

56-
// See :option:`--allow-unknown-fields` for details.
57-
bool allow_unknown_fields = 5;
59+
// See :option:`--allow-unknown-static-fields` for details.
60+
bool allow_unknown_static_fields = 5;
61+
62+
// See :option:`--reject-unknown-dynamic-fields` for details.
63+
bool reject_unknown_dynamic_fields = 26;
5864

5965
// See :option:`--admin-address-path` for details.
6066
string admin_address_path = 6;
@@ -79,8 +85,7 @@ message CommandLineOptions {
7985
// See :option:`--log-path` for details.
8086
string log_path = 11;
8187

82-
// See :option:`--hot-restart-version` for details.
83-
bool hot_restart_version = 12;
88+
reserved 12;
8489

8590
// See :option:`--service-cluster` for details.
8691
string service_cluster = 13;
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
syntax = "proto3";
2+
3+
package envoy.admin.v3alpha;
4+
5+
option java_outer_classname = "CertsProto";
6+
option java_multiple_files = true;
7+
option java_package = "io.envoyproxy.envoy.admin.v3alpha";
8+
9+
import "google/protobuf/timestamp.proto";
10+
11+
// [#protodoc-title: Certificates]
12+
13+
// Proto representation of certificate details. Admin endpoint uses this wrapper for `/certs` to
14+
// display certificate information. See :ref:`/certs <operations_admin_interface_certs>` for more
15+
// information.
16+
message Certificates {
17+
// List of certificates known to an Envoy.
18+
repeated Certificate certificates = 1;
19+
}
20+
21+
message Certificate {
22+
23+
// Details of CA certificate.
24+
repeated CertificateDetails ca_cert = 1;
25+
26+
// Details of Certificate Chain
27+
repeated CertificateDetails cert_chain = 2;
28+
}
29+
30+
message CertificateDetails {
31+
// Path of the certificate.
32+
string path = 1;
33+
34+
// Certificate Serial Number.
35+
string serial_number = 2;
36+
37+
// List of Subject Alternate names.
38+
repeated SubjectAlternateName subject_alt_names = 3;
39+
40+
// Minimum of days until expiration of certificate and it's chain.
41+
uint64 days_until_expiration = 4;
42+
43+
// Indicates the time from which the certificate is valid.
44+
google.protobuf.Timestamp valid_from = 5;
45+
46+
// Indicates the time at which the certificate expires.
47+
google.protobuf.Timestamp expiration_time = 6;
48+
}
49+
50+
message SubjectAlternateName {
51+
52+
// Subject Alternate Name.
53+
oneof name {
54+
string dns = 1;
55+
string uri = 2;
56+
}
57+
}
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
syntax = "proto3";
2+
3+
package envoy.admin.v3alpha;
4+
5+
option java_outer_classname = "ClustersProto";
6+
option java_multiple_files = true;
7+
option java_package = "io.envoyproxy.envoy.admin.v3alpha";
8+
9+
import "envoy/admin/v3alpha/metrics.proto";
10+
import "envoy/api/v3alpha/core/address.proto";
11+
import "envoy/api/v3alpha/core/health_check.proto";
12+
import "envoy/type/percent.proto";
13+
14+
// [#protodoc-title: Clusters]
15+
16+
// Admin endpoint uses this wrapper for `/clusters` to display cluster status information.
17+
// See :ref:`/clusters <operations_admin_interface_clusters>` for more information.
18+
message Clusters {
19+
// Mapping from cluster name to each cluster's status.
20+
repeated ClusterStatus cluster_statuses = 1;
21+
}
22+
23+
// Details an individual cluster's current status.
24+
message ClusterStatus {
25+
// Name of the cluster.
26+
string name = 1;
27+
28+
// Denotes whether this cluster was added via API or configured statically.
29+
bool added_via_api = 2;
30+
31+
// The success rate threshold used in the last interval.
32+
// If
33+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
34+
// is *false*, all errors: externally and locally generated were used to calculate the threshold.
35+
// If
36+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
37+
// is *true*, only externally generated errors were used to calculate the threshold.
38+
// The threshold is used to eject hosts based on their success rate. See
39+
// :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for details.
40+
//
41+
// Note: this field may be omitted in any of the three following cases:
42+
//
43+
// 1. There were not enough hosts with enough request volume to proceed with success rate based
44+
// outlier ejection.
45+
// 2. The threshold is computed to be < 0 because a negative value implies that there was no
46+
// threshold for that interval.
47+
// 3. Outlier detection is not enabled for this cluster.
48+
envoy.type.Percent success_rate_ejection_threshold = 3;
49+
50+
// Mapping from host address to the host's current status.
51+
repeated HostStatus host_statuses = 4;
52+
53+
// The success rate threshold used in the last interval when only locally originated failures were
54+
// taken into account and externally originated errors were treated as success.
55+
// This field should be interpretted only when
56+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
57+
// is *true*. The threshold is used to eject hosts based on their success rate.
58+
// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
59+
// details.
60+
//
61+
// Note: this field may be omitted in any of the three following cases:
62+
//
63+
// 1. There were not enough hosts with enough request volume to proceed with success rate based
64+
// outlier ejection.
65+
// 2. The threshold is computed to be < 0 because a negative value implies that there was no
66+
// threshold for that interval.
67+
// 3. Outlier detection is not enabled for this cluster.
68+
envoy.type.Percent local_origin_success_rate_ejection_threshold = 5;
69+
}
70+
71+
// Current state of a particular host.
72+
message HostStatus {
73+
// Address of this host.
74+
envoy.api.v3alpha.core.Address address = 1;
75+
76+
// List of stats specific to this host.
77+
repeated SimpleMetric stats = 2;
78+
79+
// The host's current health status.
80+
HostHealthStatus health_status = 3;
81+
82+
// Request success rate for this host over the last calculated interval.
83+
// If
84+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
85+
// is *false*, all errors: externally and locally generated were used in success rate
86+
// calculation. If
87+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
88+
// is *true*, only externally generated errors were used in success rate calculation.
89+
// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
90+
// details.
91+
//
92+
// Note: the message will not be present if host did not have enough request volume to calculate
93+
// success rate or the cluster did not have enough hosts to run through success rate outlier
94+
// ejection.
95+
envoy.type.Percent success_rate = 4;
96+
97+
// The host's weight. If not configured, the value defaults to 1.
98+
uint32 weight = 5;
99+
100+
// The hostname of the host, if applicable.
101+
string hostname = 6;
102+
103+
// The host's priority. If not configured, the value defaults to 0 (highest priority).
104+
uint32 priority = 7;
105+
106+
// Request success rate for this host over the last calculated
107+
// interval when only locally originated errors are taken into account and externally originated
108+
// errors were treated as success.
109+
// This field should be interpretted only when
110+
// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
111+
// is *true*.
112+
// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
113+
// details.
114+
//
115+
// Note: the message will not be present if host did not have enough request volume to calculate
116+
// success rate or the cluster did not have enough hosts to run through success rate outlier
117+
// ejection.
118+
envoy.type.Percent local_origin_success_rate = 8;
119+
}
120+
121+
// Health status for a host.
122+
message HostHealthStatus {
123+
// The host is currently failing active health checks.
124+
bool failed_active_health_check = 1;
125+
126+
// The host is currently considered an outlier and has been ejected.
127+
bool failed_outlier_check = 2;
128+
129+
// The host is currently being marked as degraded through active health checking.
130+
bool failed_active_degraded_check = 4;
131+
132+
// The host has been removed from service discovery, but is being stabilized due to active
133+
// health checking.
134+
bool pending_dynamic_removal = 5;
135+
136+
// The host has not yet been health checked.
137+
bool pending_active_hc = 6;
138+
139+
// Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported
140+
// here.
141+
// TODO(mrice32): pipe through remaining EDS health status possibilities.
142+
envoy.api.v3alpha.core.HealthStatus eds_health_status = 3;
143+
}

0 commit comments

Comments
 (0)