Mysql proxy filter (#4975)

This filter contains the logic to decode the mysql wire protocol and SQL queries (SQL99 only).
The code is based on our internal version at VMware. The SQL parser can be found at https://github.com/rshriram/sql-parser. Its a cleaned up version of Hyrise SQL parser. I am keeping the code as a separate library as importing the sources into envoy will cause a lot of changes to the code.

Signed-off-by: Giorgio Valentini <gvalentini@vmware.com>
Signed-off-by: Deepa Kalani <dkalani@vmware.com>
Signed-off-by: Shriram Rajagopalan <shriramr@vmware.com>
Signed-off-by: Venil Noronha <veniln@vmware.com>

Mirrored from https://github.com/envoyproxy/envoy @ b3be5713f2100ab5c40316e73ce34581245bd26a
pull/620/head
data-plane-api(CircleCI) 6 years ago
parent bdc5c70313
commit 392777ff3b
  1. 8
      envoy/config/filter/network/mysql_proxy/v1alpha1/BUILD
  2. 20
      envoy/config/filter/network/mysql_proxy/v1alpha1/mysql_proxy.proto

@ -0,0 +1,8 @@
load("//bazel:api_build_system.bzl", "api_proto_library_internal")
licenses(["notice"]) # Apache 2
api_proto_library_internal(
name = "mysql_proxy",
srcs = ["mysql_proxy.proto"],
)

@ -0,0 +1,20 @@
syntax = "proto3";
package envoy.config.filter.network.mysql_proxy.v1alpha1;
option java_package = "io.envoyproxy.envoy.config.filter.network.mysql_proxy.v1alpha1";
option java_multiple_files = true;
option go_package = "v1alpha1";
import "validate/validate.proto";
// [#protodoc-title: MySQL proxy]
// MySQL Proxy :ref:`configuration overview <config_network_filters_mysql_proxy>`.
message MySQLProxy {
// The human readable prefix to use when emitting :ref:`statistics
// <config_network_filters_mysql_proxy_stats>`.
string stat_prefix = 1 [(validate.rules).string.min_bytes = 1];
// [#not-implemented-hide:] The optional path to use for writing MySQL access logs.
// If the access log field is empty, access logs will not be written.
string access_log = 2;
}
Loading…
Cancel
Save