From ddb2a6eb8d45ad22a9709b33b92dcee31367dfcb Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 17 Oct 2023 09:32:17 -0700 Subject: [PATCH] cmd/tailscale: promote new serve/funnel CLI to be default (#9833) The change is being kept to a minimum to make a revert easy if necessary. After the release, we will go back for a final cleanup. updates #8489 Signed-off-by: Tyler Smalley --- cmd/tailscale/cli/funnel.go | 12 ++++-------- cmd/tailscale/cli/{serve.go => serve_legacy.go} | 16 ++++++---------- .../cli/{serve_test.go => serve_legacy_test.go} | 2 +- cmd/tailscale/cli/{serve_dev.go => serve_v2.go} | 4 ++-- .../cli/{serve_dev_test.go => serve_v2_test.go} | 2 +- 5 files changed, 14 insertions(+), 22 deletions(-) rename cmd/tailscale/cli/{serve.go => serve_legacy.go} (98%) rename cmd/tailscale/cli/{serve_test.go => serve_legacy_test.go} (99%) rename cmd/tailscale/cli/{serve_dev.go => serve_v2.go} (99%) rename cmd/tailscale/cli/{serve_dev_test.go => serve_v2_test.go} (99%) diff --git a/cmd/tailscale/cli/funnel.go b/cmd/tailscale/cli/funnel.go index 9c0dea1b8..6086646fe 100644 --- a/cmd/tailscale/cli/funnel.go +++ b/cmd/tailscale/cli/funnel.go @@ -13,7 +13,6 @@ import ( "strings" "github.com/peterbourgon/ff/v3/ffcli" - "tailscale.com/envknob" "tailscale.com/ipn" "tailscale.com/ipn/ipnstate" "tailscale.com/tailcfg" @@ -22,13 +21,10 @@ import ( var funnelCmd = func() *ffcli.Command { se := &serveEnv{lc: &localClient} - // This flag is used to switch to an in-development - // implementation of the tailscale funnel command. - // See https://github.com/tailscale/tailscale/issues/7844 - if envknob.UseWIPCode() { - return newServeDevCommand(se, funnel) - } - return newFunnelCommand(se) + // previously used to serve legacy newFunnelCommand unless useWIPCode is true + // change is limited to make a revert easier and full cleanup to come after the relase. + // TODO(tylersmalley): cleanup and removal of newFunnelCommand as of 2023-10-16 + return newServeV2Command(se, funnel) } // newFunnelCommand returns a new "funnel" subcommand using e as its environment. diff --git a/cmd/tailscale/cli/serve.go b/cmd/tailscale/cli/serve_legacy.go similarity index 98% rename from cmd/tailscale/cli/serve.go rename to cmd/tailscale/cli/serve_legacy.go index 6bb1dece0..1bd28ad4f 100644 --- a/cmd/tailscale/cli/serve.go +++ b/cmd/tailscale/cli/serve_legacy.go @@ -24,7 +24,6 @@ import ( "github.com/peterbourgon/ff/v3/ffcli" "tailscale.com/client/tailscale" - "tailscale.com/envknob" "tailscale.com/ipn" "tailscale.com/ipn/ipnstate" "tailscale.com/tailcfg" @@ -34,17 +33,14 @@ import ( var serveCmd = func() *ffcli.Command { se := &serveEnv{lc: &localClient} - // This flag is used to switch to an in-development - // implementation of the tailscale funnel command. - // See https://github.com/tailscale/tailscale/issues/7844 - if envknob.UseWIPCode() { - return newServeDevCommand(se, serve) - } - return newServeCommand(se) + // previously used to serve legacy newFunnelCommand unless useWIPCode is true + // change is limited to make a revert easier and full cleanup to come after the relase. + // TODO(tylersmalley): cleanup and removal of newServeLegacyCommand as of 2023-10-16 + return newServeV2Command(se, serve) } -// newServeCommand returns a new "serve" subcommand using e as its environment. -func newServeCommand(e *serveEnv) *ffcli.Command { +// newServeLegacyCommand returns a new "serve" subcommand using e as its environment. +func newServeLegacyCommand(e *serveEnv) *ffcli.Command { return &ffcli.Command{ Name: "serve", ShortHelp: "Serve content and local servers", diff --git a/cmd/tailscale/cli/serve_test.go b/cmd/tailscale/cli/serve_legacy_test.go similarity index 99% rename from cmd/tailscale/cli/serve_test.go rename to cmd/tailscale/cli/serve_legacy_test.go index 95e278bf6..f77106ddd 100644 --- a/cmd/tailscale/cli/serve_test.go +++ b/cmd/tailscale/cli/serve_legacy_test.go @@ -713,7 +713,7 @@ func TestServeConfigMutations(t *testing.T) { cmd = newFunnelCommand(e) args = st.command[1:] } else { - cmd = newServeCommand(e) + cmd = newServeLegacyCommand(e) args = st.command } err := cmd.ParseAndRun(context.Background(), args) diff --git a/cmd/tailscale/cli/serve_dev.go b/cmd/tailscale/cli/serve_v2.go similarity index 99% rename from cmd/tailscale/cli/serve_dev.go rename to cmd/tailscale/cli/serve_v2.go index b48c8292b..235804eb1 100644 --- a/cmd/tailscale/cli/serve_dev.go +++ b/cmd/tailscale/cli/serve_v2.go @@ -94,8 +94,8 @@ func buildShortUsage(subcmd string) string { }, "\n ") } -// newServeDevCommand returns a new "serve" subcommand using e as its environment. -func newServeDevCommand(e *serveEnv, subcmd serveMode) *ffcli.Command { +// newServeV2Command returns a new "serve" subcommand using e as its environment. +func newServeV2Command(e *serveEnv, subcmd serveMode) *ffcli.Command { if subcmd != serve && subcmd != funnel { log.Fatalf("newServeDevCommand called with unknown subcmd %q", subcmd) } diff --git a/cmd/tailscale/cli/serve_dev_test.go b/cmd/tailscale/cli/serve_v2_test.go similarity index 99% rename from cmd/tailscale/cli/serve_dev_test.go rename to cmd/tailscale/cli/serve_v2_test.go index 969914997..6366fab94 100644 --- a/cmd/tailscale/cli/serve_dev_test.go +++ b/cmd/tailscale/cli/serve_v2_test.go @@ -746,7 +746,7 @@ func TestServeDevConfigMutations(t *testing.T) { if st.command[0] == "funnel" { mode = funnel } - cmd = newServeDevCommand(e, mode) + cmd = newServeV2Command(e, mode) args = st.command[1:] err := cmd.ParseAndRun(context.Background(), args)