golang: L4 network extension (#26173)

Signed-off-by: yongjie.yyj <yeyeyongjie@gmail.com>

Mirrored from https://github.com/envoyproxy/envoy @ 63d4fb0c442d6362bcf5101fc2a5279aeaef31bb
main
update-envoy[bot] 1 year ago
parent 1c3ea72f7a
commit 2a14562ceb
  1. 1
      BUILD
  2. 8
      contrib/envoy/extensions/filters/http/golang/v3alpha/golang.proto
  3. 12
      contrib/envoy/extensions/filters/network/golang/v3alpha/BUILD
  4. 54
      contrib/envoy/extensions/filters/network/golang/v3alpha/golang.proto
  5. 1
      versioning/BUILD

@ -83,6 +83,7 @@ proto_library(
"//contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3:pkg",
"//contrib/envoy/extensions/filters/network/generic_proxy/router/v3:pkg",
"//contrib/envoy/extensions/filters/network/generic_proxy/v3:pkg",
"//contrib/envoy/extensions/filters/network/golang/v3alpha:pkg",
"//contrib/envoy/extensions/filters/network/kafka_broker/v3:pkg",
"//contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha:pkg",
"//contrib/envoy/extensions/filters/network/mysql_proxy/v3:pkg",

@ -16,9 +16,9 @@ option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/fil
option (udpa.annotations.file_status).package_version_status = ACTIVE;
option (xds.annotations.v3.file_status).work_in_progress = true;
// [#protodoc-title: Golang]
// [#protodoc-title: Golang HTTP filter]
//
// For an overview of the Golang filter please see the :ref:`configuration reference documentation <config_http_filters_golang>`.
// For an overview of the Golang HTTP filter please see the :ref:`configuration reference documentation <config_http_filters_golang>`.
// [#extension: envoy.filters.http.golang]
// [#next-free-field: 6]
@ -40,7 +40,7 @@ message Config {
string library_id = 1 [(validate.rules).string = {min_len: 1}];
// Path to a dynamic library implementing the
// :repo:`StreamFilter API <contrib/golang/filters/http/source/go/pkg/api.StreamFilter>`
// :repo:`StreamFilter API <contrib/golang/common/go/api.StreamFilter>`
// interface.
// [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.]
string library_path = 2 [(validate.rules).string = {min_len: 1}];
@ -59,7 +59,7 @@ message Config {
// This configuration is only parsed in the go plugin, and is therefore not validated
// by Envoy.
//
// See the :repo:`StreamFilter API <contrib/golang/filters/http/source/go/pkg/api/filter.go>`
// See the :repo:`StreamFilter API <contrib/golang/common/go/api/filter.go>`
// for more information about how the plugin's configuration data can be accessed.
//
google.protobuf.Any plugin_config = 4;

@ -0,0 +1,12 @@
# 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_udpa//udpa/annotations:pkg",
"@com_github_cncf_udpa//xds/annotations/v3:pkg",
],
)

@ -0,0 +1,54 @@
syntax = "proto3";
package envoy.extensions.filters.network.golang.v3alpha;
import "google/protobuf/any.proto";
import "xds/annotations/v3/status.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.extensions.filters.network.golang.v3alpha";
option java_outer_classname = "GolangProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/network/golang/v3alpha";
option (udpa.annotations.file_status).package_version_status = ACTIVE;
option (xds.annotations.v3.file_status).work_in_progress = true;
// [#protodoc-title: Golang network filter]
//
// Golang network filter :ref:`configuration overview <config_network_filters_golang>`.
// [#extension: envoy.filters.network.golang]
// [#next-free-field: 6]
message Config {
// Bool ``true`` if this filter must be the last filter in a filter chain, ``false`` otherwise.
bool is_terminal_filter = 1;
// Globally unique ID for a dynamic library file.
string library_id = 2 [(validate.rules).string = {min_len: 1}];
// Path to a dynamic library implementing the
// :repo:`DownstreamFilter API <contrib/golang/common/go/api.DownstreamFilter>`
// interface.
// [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.]
string library_path = 3 [(validate.rules).string = {min_len: 1}];
// Globally unique name of the Go plugin.
//
// This name **must** be consistent with the name registered in ``network::RegisterNetworkFilterConfigFactory``
//
string plugin_name = 4 [(validate.rules).string = {min_len: 1}];
// Configuration for the Go plugin.
//
// .. note::
// This configuration is only parsed in the go plugin, and is therefore not validated
// by Envoy.
//
// See the :repo:`DownstreamFilter API <contrib/golang/common/go/api/filter.go>`
// for more information about how the plugin's configuration data can be accessed.
//
google.protobuf.Any plugin_config = 5;
}

@ -21,6 +21,7 @@ proto_library(
"//contrib/envoy/extensions/filters/network/generic_proxy/matcher/v3:pkg",
"//contrib/envoy/extensions/filters/network/generic_proxy/router/v3:pkg",
"//contrib/envoy/extensions/filters/network/generic_proxy/v3:pkg",
"//contrib/envoy/extensions/filters/network/golang/v3alpha:pkg",
"//contrib/envoy/extensions/filters/network/kafka_broker/v3:pkg",
"//contrib/envoy/extensions/filters/network/kafka_mesh/v3alpha:pkg",
"//contrib/envoy/extensions/filters/network/mysql_proxy/v3:pkg",

Loading…
Cancel
Save