mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-01 14:05:39 +00:00
cmd/tailscale/cli: add a hidden configure subcommand
Also make `tailscale configure-host` an alias to `tailscale configure synology` Updates #7220 Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
parent
6927a844b1
commit
181a3da513
@ -150,6 +150,8 @@ func Run(args []string) (err error) {
|
|||||||
rootCmd.Subcommands = append(rootCmd.Subcommands, serveCmd)
|
rootCmd.Subcommands = append(rootCmd.Subcommands, serveCmd)
|
||||||
case slices.Contains(args, "update"):
|
case slices.Contains(args, "update"):
|
||||||
rootCmd.Subcommands = append(rootCmd.Subcommands, updateCmd)
|
rootCmd.Subcommands = append(rootCmd.Subcommands, updateCmd)
|
||||||
|
case slices.Contains(args, "configure"):
|
||||||
|
rootCmd.Subcommands = append(rootCmd.Subcommands, configureCmd)
|
||||||
}
|
}
|
||||||
if runtime.GOOS == "linux" && distro.Get() == distro.Synology {
|
if runtime.GOOS == "linux" && distro.Get() == distro.Synology {
|
||||||
rootCmd.Subcommands = append(rootCmd.Subcommands, configureHostCmd)
|
rootCmd.Subcommands = append(rootCmd.Subcommands, configureHostCmd)
|
||||||
|
@ -18,9 +18,23 @@
|
|||||||
"tailscale.com/version/distro"
|
"tailscale.com/version/distro"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// configureHostCmd is the "tailscale configure-host" command which
|
||||||
|
// was once used to configure Synology devices, but is now a redirect
|
||||||
|
// to "tailscale configure synology".
|
||||||
var configureHostCmd = &ffcli.Command{
|
var configureHostCmd = &ffcli.Command{
|
||||||
Name: "configure-host",
|
Name: "configure-host",
|
||||||
Exec: runConfigureHost,
|
Exec: runConfigureSynology,
|
||||||
|
ShortHelp: synologyConfigureCmd.ShortHelp,
|
||||||
|
LongHelp: synologyConfigureCmd.LongHelp,
|
||||||
|
FlagSet: (func() *flag.FlagSet {
|
||||||
|
fs := newFlagSet("configure-host")
|
||||||
|
return fs
|
||||||
|
})(),
|
||||||
|
}
|
||||||
|
|
||||||
|
var synologyConfigureCmd = &ffcli.Command{
|
||||||
|
Name: "synology",
|
||||||
|
Exec: runConfigureSynology,
|
||||||
ShortHelp: "Configure Synology to enable more Tailscale features",
|
ShortHelp: "Configure Synology to enable more Tailscale features",
|
||||||
LongHelp: strings.TrimSpace(`
|
LongHelp: strings.TrimSpace(`
|
||||||
The 'configure-host' command is intended to run at boot as root
|
The 'configure-host' command is intended to run at boot as root
|
||||||
@ -30,14 +44,12 @@
|
|||||||
See: https://tailscale.com/kb/1152/synology-outbound/
|
See: https://tailscale.com/kb/1152/synology-outbound/
|
||||||
`),
|
`),
|
||||||
FlagSet: (func() *flag.FlagSet {
|
FlagSet: (func() *flag.FlagSet {
|
||||||
fs := newFlagSet("configure-host")
|
fs := newFlagSet("synology")
|
||||||
return fs
|
return fs
|
||||||
})(),
|
})(),
|
||||||
}
|
}
|
||||||
|
|
||||||
var configureHostArgs struct{}
|
func runConfigureSynology(ctx context.Context, args []string) error {
|
||||||
|
|
||||||
func runConfigureHost(ctx context.Context, args []string) error {
|
|
||||||
if len(args) > 0 {
|
if len(args) > 0 {
|
||||||
return errors.New("unknown arguments")
|
return errors.New("unknown arguments")
|
||||||
}
|
}
|
32
cmd/tailscale/cli/configure.go
Normal file
32
cmd/tailscale/cli/configure.go
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||||||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
package cli
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"flag"
|
||||||
|
"runtime"
|
||||||
|
|
||||||
|
"github.com/peterbourgon/ff/v3/ffcli"
|
||||||
|
"tailscale.com/version/distro"
|
||||||
|
)
|
||||||
|
|
||||||
|
var configureCmd = &ffcli.Command{
|
||||||
|
Name: "configure",
|
||||||
|
FlagSet: (func() *flag.FlagSet {
|
||||||
|
fs := newFlagSet("configure")
|
||||||
|
return fs
|
||||||
|
})(),
|
||||||
|
Subcommands: configureSubcommands(),
|
||||||
|
Exec: func(ctx context.Context, args []string) error {
|
||||||
|
return flag.ErrHelp
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func configureSubcommands() (out []*ffcli.Command) {
|
||||||
|
if runtime.GOOS == "linux" && distro.Get() == distro.Synology {
|
||||||
|
out = append(out, synologyConfigureCmd)
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user