-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Envoy extensions for reverse connections
Commit Message: This commit collates the envoy extensions for reverse connections. A detailed description of the changes is provided in examples/reverse_connection/README.md Additional Description: Risk Level: Testing: Docs Changes: Release Notes: Platform Specific Features: [Optional Runtime guard:] [Optional Fixes #Issue] [Optional Fixes commit #PR or SHA] [Optional Deprecated:] [Optional [API Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):] Signed-off-by: Basundhara Chakrabarty <basundhara.c@nutanix.com> Co-authored-by: Arun Vasudevan <arun.vasudevan@nutanix.com> Co-authored-by: Tejas Sangol <tejas.sangol@nutanix.com> Co-authored-by: Aditya Jaltade <aditya.jaltade@nutanix.com>
- Loading branch information
1 parent
4aa1d1b
commit 318b0ac
Showing
60 changed files
with
4,573 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
24 changes: 24 additions & 0 deletions
24
api/envoy/config/filter/http/reverse_conn/v2/reverse_conn.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.config.filter.http.reverse_conn.v2; | ||
|
||
import "google/protobuf/wrappers.proto"; | ||
|
||
import "udpa/annotations/migrate.proto"; | ||
import "udpa/annotations/status.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.config.filter.http.reverse_conn.v2"; | ||
option java_outer_classname = "ReverseConnProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/filter/http/reverse_conn/v2;reverse_connv2"; | ||
option (udpa.annotations.file_migrate).move_to_package = | ||
"envoy.extensions.filters.http.reverse_conn.v3"; | ||
option (udpa.annotations.file_status).package_version_status = FROZEN; | ||
|
||
// [#protodoc-title: ReverseConn] | ||
// ReverseConn :ref:`configuration overview <config_http_filters_reverse_conn>`. | ||
// [#extension: envoy.filters.http.reverse_conn] | ||
|
||
message ReverseConn { | ||
google.protobuf.UInt32Value ping_interval = 1; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
20 changes: 20 additions & 0 deletions
20
api/envoy/config/filter/listener/reverse_connection/v2/reverse_connection.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.config.filter.listener.reverse_connection.v2; | ||
|
||
import "google/protobuf/wrappers.proto"; | ||
|
||
import "udpa/annotations/migrate.proto"; | ||
import "udpa/annotations/status.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.config.filter.listener.reverse_connection.v2"; | ||
option java_outer_classname = "ReverseConnectionProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/filter/listener/reverse_connection/v2;reverse_connectionv2"; | ||
option (udpa.annotations.file_migrate).move_to_package = | ||
"envoy.extensions.filters.listener.reverse_connection.v3"; | ||
option (udpa.annotations.file_status).package_version_status = FROZEN; | ||
|
||
message ReverseConnection { | ||
google.protobuf.UInt32Value ping_wait_timeout = 1; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
20 changes: 20 additions & 0 deletions
20
api/envoy/extensions/bootstrap/reverse_connection/v3/reverse_connection.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.extensions.bootstrap.reverse_connection.v3; | ||
|
||
import "udpa/annotations/status.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.extensions.bootstrap.reverse_connection.v3"; | ||
option java_outer_classname = "ReverseConnectionProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/bootstrap/reverse_connection/v3;reverse_connectionv3"; | ||
option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
||
// [#protodoc-title: Bootstrap settings for Reverse Connections] | ||
// [#extension: envoy.bootstrap.reverse_connection] | ||
|
||
// All the future reverse connection settings should be added here. | ||
message ReverseConnection { | ||
// Stat prefix to be used for reverse connection stats. | ||
string stat_prefix = 1; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
55 changes: 55 additions & 0 deletions
55
api/envoy/extensions/filters/http/reverse_conn/v3/reverse_conn.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.extensions.filters.http.reverse_conn.v3; | ||
|
||
import "google/protobuf/wrappers.proto"; | ||
|
||
import "udpa/annotations/status.proto"; | ||
import "udpa/annotations/versioning.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.extensions.filters.http.reverse_conn.v3"; | ||
option java_outer_classname = "ReverseConnProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/reverse_conn/v3;reverse_connv3"; | ||
option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
||
// [#protodoc-title: ReverseConn] | ||
// ReverseConn :ref:`configuration overview <config_http_filters_reverse_conn>`. | ||
// [#extension: envoy.filters.http.reverse_conn] | ||
|
||
message ReverseConn { | ||
option (udpa.annotations.versioning).previous_message_type = | ||
"envoy.config.filter.http.reverse_conn.v2.ReverseConn"; | ||
|
||
google.protobuf.UInt32Value ping_interval = 1; | ||
} | ||
|
||
// Config sent by the local cluster as part of the Initiation workflow. | ||
// This message combined with message 'ReverseConnHandshakeRet' which is | ||
// sent as a response can be used to transfer/negotiate parameter between the | ||
// two envoys. | ||
message ReverseConnHandshakeArg { | ||
// Tenant UUID of the local cluster. | ||
string tenant_uuid = 1; | ||
|
||
// Cluster UUID of the local cluster. | ||
string cluster_uuid = 2; | ||
|
||
// Node UUID of the local cluster. | ||
string node_uuid = 3; | ||
} | ||
|
||
// Config used by the remote cluser in response to the above 'ReverseConnHandshakeArg'. | ||
message ReverseConnHandshakeRet { | ||
enum ConnectionStatus { | ||
ACCEPTED = 0; | ||
REJECTED = 1; | ||
} | ||
|
||
// Tracks the status of the reverse connection initiation workflow. | ||
ConnectionStatus status = 1; | ||
|
||
// This field can be used to transmit success/warning/error messages | ||
// describing the status of the reverse connection, if needed. | ||
string status_message = 2; | ||
} |
9 changes: 9 additions & 0 deletions
9
api/envoy/extensions/filters/listener/reverse_connection/v3/BUILD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
25 changes: 25 additions & 0 deletions
25
api/envoy/extensions/filters/listener/reverse_connection/v3/reverse_connection.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.extensions.filters.listener.reverse_connection.v3; | ||
|
||
import "google/protobuf/wrappers.proto"; | ||
|
||
import "udpa/annotations/status.proto"; | ||
import "udpa/annotations/versioning.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.extensions.filters.listener.reverse_connection.v3"; | ||
option java_outer_classname = "ReverseConnectionProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/listener/reverse_connection/v3;reverse_connectionv3"; | ||
option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
||
// [#protodoc-title: Reverse Connection Filter] | ||
// PROXY protocol listener filter. | ||
// [#extension: envoy.filters.listener.reverse_connection] | ||
|
||
message ReverseConnection { | ||
option (udpa.annotations.versioning).previous_message_type = | ||
"envoy.config.filter.listener.reverse_connection.v2.ReverseConnection"; | ||
|
||
google.protobuf.UInt32Value ping_wait_timeout = 1; | ||
} |
9 changes: 9 additions & 0 deletions
9
api/envoy/extensions/reverse_connection/reverse_connection_listener_config/v3/BUILD
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. | ||
|
||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
||
licenses(["notice"]) # Apache 2 | ||
|
||
api_proto_package( | ||
deps = ["@com_github_cncf_xds//udpa/annotations:pkg"], | ||
) |
42 changes: 42 additions & 0 deletions
42
...connection/reverse_connection_listener_config/v3/reverse_connection_listener_config.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
syntax = "proto3"; | ||
|
||
package envoy.extensions.reverse_connection.reverse_connection_listener_config.v3; | ||
|
||
import "google/protobuf/wrappers.proto"; | ||
|
||
import "udpa/annotations/status.proto"; | ||
import "validate/validate.proto"; | ||
|
||
option java_package = "io.envoyproxy.envoy.extensions.reverse_connection.reverse_connection_listener_config.v3"; | ||
option java_outer_classname = "ReverseConnectionListenerConfigProto"; | ||
option java_multiple_files = true; | ||
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/reverse_connection/reverse_connection_listener_config/v3;reverse_connection_listener_configv3"; | ||
option (udpa.annotations.file_status).package_version_status = ACTIVE; | ||
|
||
// [#protodoc-title: Listener Config for Reverse Connections] | ||
// [#extension: envoy.reverse_connection.reverse_connection_listener_config] | ||
|
||
message ReverseConnectionCluster { | ||
// Name of the cluster to initiate reverse connections to. | ||
string cluster_name = 1 [(validate.rules).string = {min_len: 1}]; | ||
|
||
// Number of reverse connections need to cluster. Atleast one reverse connection | ||
// has to be requested. | ||
google.protobuf.UInt32Value reverse_connection_count = 2 [(validate.rules).uint32 = {gte: 1}]; | ||
} | ||
|
||
// Configuration for envoy reverse connection listener. All the future reverse connection listener features | ||
// should be added here. | ||
message ReverseConnectionListenerConfig { | ||
// The unique name for the initiator envoy while initiating reverse connections. This is | ||
// a required field for reverse connections. | ||
string src_node_id = 1 [(validate.rules).string = {min_len: 1}]; | ||
|
||
// The cluster ID (optional) of the initiator envoy. | ||
string src_cluster_id = 2; | ||
|
||
// Tenant ID (optional) of the initiator envoy. | ||
string src_tenant_id = 3; | ||
|
||
repeated ReverseConnectionCluster remote_cluster_to_conn_count = 4; | ||
} |
Oops, something went wrong.