You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd
Brad Fitzpatrick e968b0ecd7 cmd/tailscale,controlclient,ipnlocal: fix 'up', deflake tests more
The CLI's "up" is kinda chaotic and LocalBackend.Start is kinda
chaotic and they both need to be redone/deleted (respectively), but
this fixes some buggy behavior meanwhile. We were previously calling
StartLoginInteractive (to start the controlclient's RegisterRequest)
redundantly in some cases, causing test flakes depending on timing and
up's weird state machine.

We only need to call StartLoginInteractive in the client if Start itself
doesn't. But Start doesn't tell us that. So cheat a bit and a put the
information about whether there's a current NodeKey in the ipn.Status.
It used to be accessible over LocalAPI via GetPrefs as a private key but
we removed that for security. But a bool is fine.

So then only call StartLoginInteractive if that bool is false and don't
do it in the WatchIPNBus loop.

Fixes #12028
Updates #12042

Change-Id: I0923c3f704a9d6afd825a858eb9a63ca7c1df294
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
7 months ago
..
addlicense all: update tools that manage copyright headers 2 years ago
build-webclient client/web: precompress assets 12 months ago
cloner all: use Go 1.22 range-over-int 7 months ago
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 12 months ago
containerboot cmd/containerboot,kube,ipn/store/kubestore: allow interactive login on kube, check Secret create perms, allow empty state Secret (#11326) 7 months ago
derper derp/derphttp: fix netcheck HTTPS probes 7 months ago
derpprobe cmd/{derper,derpprobe}: add --version flag 8 months ago
dist release/dist/qnap: add qnap target builder 7 months ago
get-authkey util/cmpx: delete now that we're using Go 1.22 10 months ago
gitops-pusher cmd/gitops-pusher: only use OAuth creds if non-empty string 10 months ago
hello cmd/hello: link to the Hello KB article (#11022) 10 months ago
k8s-nameserver cmd/{k8s-operator,k8s-nameserver},k8s-operator: update nameserver config with records for ingress/egress proxies (#11019) 7 months ago
k8s-operator cmd/k8s-operator: cleanup runReconciler signature (#11993) 7 months ago
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2 years ago
mkpkg go.mod: upgrade nfpm to v2 (#8786) 1 year ago
mkversion version/mkversion: open-source version generation logic 2 years ago
nardump all: update copyright and license headers 2 years ago
netlogfmt all: use Go 1.22 range-over-int 7 months ago
nginx-auth tailcfg,all: add and use Node.IsTagged() 2 years ago
pgproxy various: add golangci-lint, fix issues (#7905) 2 years ago
printdep cmd/printdep: print correct toolchain URL 2 years ago
proxy-to-grafana all: use Go 1.22 range-over-int 7 months ago
sniproxy all: make more tests pass/skip in airplane mode 7 months ago
speedtest all: update copyright and license headers 2 years ago
ssh-auth-none-demo all: replace deprecated ioutil references 1 year ago
stunc all: update copyright and license headers 2 years ago
stund build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#11410) 7 months ago
sync-containers all: adjust some build tags for plan9 1 year ago
tailscale cmd/tailscale,controlclient,ipnlocal: fix 'up', deflake tests more 7 months ago
tailscaled ipn/ipnserver: close a small race in ipnserver, ~simplify code 7 months ago
testcontrol all: use Go 1.22 range-over-int 7 months ago
testwrapper cmd/testwrapper: apply results of all unit tests to coverage for all packages 9 months ago
tsconnect health, all: remove health.Global, finish plumbing health.Tracker 7 months ago
tsidp cmd/tsidp: add start of OIDC Tailscale IdP 1 year ago
tsshd all: update copyright and license headers 2 years ago
viewer all: use Go 1.22 range-over-int 7 months ago