From 0fbdac3fd0e3113639d79f8732ae4e713d203543 Mon Sep 17 00:00:00 2001 From: Michael Demmer Date: Fri, 15 Aug 2025 08:55:13 -0700 Subject: [PATCH 1/2] make RegisterFlags accessible outside the module Signed-off-by: Michael Demmer --- go/vt/vtgate/grpcvtgateconn/conn.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/vt/vtgate/grpcvtgateconn/conn.go b/go/vt/vtgate/grpcvtgateconn/conn.go index e94750cc1e7..c2dc5714265 100644 --- a/go/vt/vtgate/grpcvtgateconn/conn.go +++ b/go/vt/vtgate/grpcvtgateconn/conn.go @@ -57,11 +57,11 @@ func init() { "vttestserver", "vtgateproxy", } { - servenv.OnParseFor(cmd, registerFlags) + servenv.OnParseFor(cmd, RegisterFlags) } } -func registerFlags(fs *pflag.FlagSet) { +func RegisterFlags(fs *pflag.FlagSet) { fs.StringVar(&cert, "vtgate_grpc_cert", "", "the cert to use to connect") fs.StringVar(&key, "vtgate_grpc_key", "", "the key to use to connect") fs.StringVar(&ca, "vtgate_grpc_ca", "", "the server ca to use to validate servers when connecting") From 1c945b018f377130e5c3cd6c2e5ddbab64ae94d5 Mon Sep 17 00:00:00 2001 From: Michael Demmer Date: Fri, 15 Aug 2025 08:55:32 -0700 Subject: [PATCH 2/2] rework how vtgateproxy handles registering flags Reduce the dependencies on the core of vitess for vtgateproxy by moving the way in which we register command line flags out of the core codebase and explicitly part of the vtgateproxy binary. Signed-off-by: Michael Demmer --- go/cmd/vtgateproxy/vtgateproxy.go | 10 ++++++++++ go/vt/grpcclient/client.go | 1 - go/vt/servenv/servenv.go | 3 --- go/vt/vtgate/grpcvtgateconn/conn.go | 1 - 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/go/cmd/vtgateproxy/vtgateproxy.go b/go/cmd/vtgateproxy/vtgateproxy.go index 392b77610dc..2c5f2cbd159 100644 --- a/go/cmd/vtgateproxy/vtgateproxy.go +++ b/go/cmd/vtgateproxy/vtgateproxy.go @@ -23,14 +23,24 @@ import ( "google.golang.org/grpc/channelz/service" "vitess.io/vitess/go/exit" + "vitess.io/vitess/go/stats" "vitess.io/vitess/go/stats/prometheusbackend" + "vitess.io/vitess/go/trace" + "vitess.io/vitess/go/vt/grpcclient" + "vitess.io/vitess/go/vt/grpccommon" "vitess.io/vitess/go/vt/servenv" + "vitess.io/vitess/go/vt/vtgate/grpcvtgateconn" "vitess.io/vitess/go/vt/vtgateproxy" ) func init() { servenv.RegisterDefaultFlags() servenv.RegisterGRPCServerFlags() + servenv.OnParseFor("vtgateproxy", trace.RegisterFlags) + servenv.OnParseFor("vtgateproxy", stats.RegisterFlags) + servenv.OnParseFor("vtgateproxy", grpccommon.RegisterFlags) + servenv.OnParseFor("vtgateproxy", grpcclient.RegisterFlags) + servenv.OnParseFor("vtgateproxy", grpcvtgateconn.RegisterFlags) } func main() { diff --git a/go/vt/grpcclient/client.go b/go/vt/grpcclient/client.go index c3bafbbfd2a..9499df97263 100644 --- a/go/vt/grpcclient/client.go +++ b/go/vt/grpcclient/client.go @@ -58,7 +58,6 @@ var ( "vtctld", "vtgate", "vtgateclienttest", - "vtgateproxy", "vtorc", "vttablet", "vttestserver", diff --git a/go/vt/servenv/servenv.go b/go/vt/servenv/servenv.go index 977765e5ca0..05bbbae3faf 100644 --- a/go/vt/servenv/servenv.go +++ b/go/vt/servenv/servenv.go @@ -438,7 +438,6 @@ func init() { "vtctlclient", "vtctld", "vtgate", - "vtgateproxy", "vttablet", } { OnParseFor(cmd, trace.RegisterFlags) @@ -454,7 +453,6 @@ func init() { "vtgate", "vtgateclienttest", "vtorc", - "vtgateproxy", "vttablet", "vttestserver", } { @@ -467,7 +465,6 @@ func init() { "vtcombo", "vtctld", "vtgate", - "vtgateproxy", "vttablet", "vtorc", } { diff --git a/go/vt/vtgate/grpcvtgateconn/conn.go b/go/vt/vtgate/grpcvtgateconn/conn.go index c2dc5714265..6998891db25 100644 --- a/go/vt/vtgate/grpcvtgateconn/conn.go +++ b/go/vt/vtgate/grpcvtgateconn/conn.go @@ -55,7 +55,6 @@ func init() { "vtcombo", "vtctl", "vttestserver", - "vtgateproxy", } { servenv.OnParseFor(cmd, RegisterFlags) }