mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-01 14:05:39 +00:00
cli: present risk warning when setting up app connector on macOS (#14181)
This commit is contained in:
parent
0c8c7c0f90
commit
e3c6ca43d3
@ -19,9 +19,16 @@
|
|||||||
var (
|
var (
|
||||||
riskTypes []string
|
riskTypes []string
|
||||||
riskLoseSSH = registerRiskType("lose-ssh")
|
riskLoseSSH = registerRiskType("lose-ssh")
|
||||||
|
riskMacAppConnector = registerRiskType("mac-app-connector")
|
||||||
riskAll = registerRiskType("all")
|
riskAll = registerRiskType("all")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const riskMacAppConnectorMessage = `
|
||||||
|
You are trying to configure an app connector on macOS, which is not officially supported due to system limitations. This may result in performance and reliability issues.
|
||||||
|
|
||||||
|
Do not use a macOS app connector for any mission-critical purposes. For the best experience, Linux is the only recommended platform for app connectors.
|
||||||
|
`
|
||||||
|
|
||||||
func registerRiskType(riskType string) string {
|
func registerRiskType(riskType string) string {
|
||||||
riskTypes = append(riskTypes, riskType)
|
riskTypes = append(riskTypes, riskType)
|
||||||
return riskType
|
return riskType
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"fmt"
|
"fmt"
|
||||||
"net/netip"
|
"net/netip"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/peterbourgon/ff/v3/ffcli"
|
"github.com/peterbourgon/ff/v3/ffcli"
|
||||||
@ -203,6 +204,12 @@ func runSet(ctx context.Context, args []string) (retErr error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if runtime.GOOS == "darwin" && maskedPrefs.AppConnector.Advertise {
|
||||||
|
if err := presentRiskToUser(riskMacAppConnector, riskMacAppConnectorMessage, setArgs.acceptedRisks); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if maskedPrefs.RunSSHSet {
|
if maskedPrefs.RunSSHSet {
|
||||||
wantSSH, haveSSH := maskedPrefs.RunSSH, curPrefs.RunSSH
|
wantSSH, haveSSH := maskedPrefs.RunSSH, curPrefs.RunSSH
|
||||||
if err := presentSSHToggleRisk(wantSSH, haveSSH, setArgs.acceptedRisks); err != nil {
|
if err := presentSSHToggleRisk(wantSSH, haveSSH, setArgs.acceptedRisks); err != nil {
|
||||||
|
@ -379,6 +379,12 @@ func updatePrefs(prefs, curPrefs *ipn.Prefs, env upCheckEnv) (simpleUp bool, jus
|
|||||||
return false, nil, err
|
return false, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if runtime.GOOS == "darwin" && env.upArgs.advertiseConnector {
|
||||||
|
if err := presentRiskToUser(riskMacAppConnector, riskMacAppConnectorMessage, env.upArgs.acceptedRisks); err != nil {
|
||||||
|
return false, nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if env.upArgs.forceReauth && isSSHOverTailscale() {
|
if env.upArgs.forceReauth && isSSHOverTailscale() {
|
||||||
if err := presentRiskToUser(riskLoseSSH, `You are connected over Tailscale; this action will result in your SSH session disconnecting.`, env.upArgs.acceptedRisks); err != nil {
|
if err := presentRiskToUser(riskLoseSSH, `You are connected over Tailscale; this action will result in your SSH session disconnecting.`, env.upArgs.acceptedRisks); err != nil {
|
||||||
return false, nil, err
|
return false, nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user