Mirror of tailscale/tailscale@github.com
Go to file
Nick Khyl 462e1fc503 ipn/{ipnlocal,localapi}, wgengine/netstack: call (*LocalBackend).Shutdown when tests that create them complete
We have several places where LocalBackend instances are created for testing, but they are rarely shut down
when the tests that created them exit.

In this PR, we update newTestLocalBackend and similar functions to use testing.TB.Cleanup(lb.Shutdown)
to ensure LocalBackend instances are properly shut down during test cleanup.

Updates #12687

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2024-11-22 09:46:11 -06:00
.bencher
.github .github: Bump actions/setup-go from 5.0.2 to 5.1.0 (#13934) 2024-11-13 10:56:44 -07:00
appc
atomicfile
chirp
client client/tailscale,ipn/{ipnlocal,localapi}: add a pre-shutdown localAPI endpoint that terminates control connections. (#14028) 2024-11-07 19:27:53 +00:00
clientupdate clientupdate: don't link distsign on platforms that don't download 2024-10-10 06:32:50 -07:00
cmd cmd/{containerboot,k8s-operator},k8s-operator: new options to expose user metrics (#14035) 2024-11-22 15:41:07 +00:00
control cmd/tailscale/cli: create netmon in debug ts2021 2024-11-20 22:37:26 -05:00
derp derp/derphttp: don't link websockets other than on GOOS=js 2024-11-07 22:29:41 -08:00
disco
docs cmd/k8s-operator,kube/kubeclient,docs/k8s: update rbac to emit events + small fixes (#14164) 2024-11-20 14:22:34 +00:00
doctor
drive
envknob envknob,kube/kubetypes,cmd/k8s-operator: add app type for ProxyGroup (#14029) 2024-11-07 12:42:29 +00:00
gokrazy
health health: fix spurious warning about DERP home region '0' 2024-10-22 10:01:30 -05:00
hostinfo types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
internal
ipn ipn/{ipnlocal,localapi}, wgengine/netstack: call (*LocalBackend).Shutdown when tests that create them complete 2024-11-22 09:46:11 -06:00
jsondb
k8s-operator cmd/{containerboot,k8s-operator},k8s-operator: new options to expose user metrics (#14035) 2024-11-22 15:41:07 +00:00
kube cmd/k8s-operator,kube/kubeclient,docs/k8s: update rbac to emit events + small fixes (#14164) 2024-11-20 14:22:34 +00:00
licenses licenses: update license notices 2024-11-19 09:25:57 -08:00
log
logpolicy cmd/tsconnect, logpolicy: fixes for wasm_js.go 2024-10-16 09:39:48 -07:00
logtail
metrics
net net/tsaddr: include test input in test failure output 2024-11-21 08:32:38 -08:00
omit
packages/deb
paths
portlist
posture
prober cmd/derpprobe,prober: add ability to restrict derpprobe to a single region 2024-11-15 13:42:58 -06:00
proxymap
release release/dist: clamp min / max version for synology package centre (#13857) 2024-10-18 14:20:40 -06:00
safesocket safesocket: don't depend on go-ps on iOS 2024-10-09 18:35:53 -07:00
safeweb safeweb: add a Shutdown method to the Server type (#14048) 2024-11-08 10:02:16 -08:00
scripts scripts/installer.sh: allow Archcraft for Arch packages (#13870) 2024-10-21 18:13:06 +01:00
sessionrecording sessionrecording: implement v2 recording endpoint support (#14105) 2024-11-18 09:55:54 -08:00
smallzstd
ssh/tailssh sessionrecording: implement v2 recording endpoint support (#14105) 2024-11-18 09:55:54 -08:00
syncs syncs: allocate map with Map.WithLock (#13755) 2024-10-09 14:03:37 -07:00
tailcfg wgengine/filter: actually use the passed CapTestFunc [capver 109] 2024-11-19 19:18:35 +00:00
taildrop taildrop: fix defer in loop (#13757) 2024-10-09 14:09:58 -07:00
tempfork
tka
tool tool/gocross: remove trimpath from test builds 2024-10-28 16:10:55 -07:00
tsconst
tsd
tsnet all: use iterators over slice views more 2024-11-11 13:22:34 -08:00
tstest tstest/integration/testcontrol: remove a vestigial unused parameter 2024-11-15 10:05:35 -08:00
tstime
tsweb tsweb: change RequestID format to have a date in it 2024-11-20 15:55:09 -08:00
types all: use iterators over slice views more 2024-11-11 13:22:34 -08:00
util util/fastuuid: delete unused package 2024-11-20 16:55:00 -08:00
version version: fix earlier test/wording mistakes 2024-11-19 10:59:21 -08:00
wf
wgengine ipn/{ipnlocal,localapi}, wgengine/netstack: call (*LocalBackend).Shutdown when tests that create them complete 2024-11-22 09:46:11 -06:00
words words: Add scoville to scales.txt (#14084) 2024-11-13 09:25:12 -08:00
.gitattributes
.gitignore
.golangci.yml
ALPINE.txt
AUTHORS
CODEOWNERS
CODE_OF_CONDUCT.md
Dockerfile
Dockerfile.base
LICENSE
Makefile
PATENTS
README.md
SECURITY.md
VERSION.txt VERSION.txt: this is v1.77.0 (#13779) 2024-10-10 11:34:14 -07:00
api.md
assert_ts_toolchain_match.go
build_dist.sh
build_docker.sh go.{mod,sum},build_docker.sh: bump mkctr, add ability to set OCI annotations for images (#14065) 2024-11-12 14:23:38 +00:00
flake.lock
flake.nix
go.mod go.mod: bump tailscale/wireguard-go 2024-11-16 15:31:07 -08:00
go.mod.sri
go.sum go.mod: bump tailscale/wireguard-go 2024-11-16 15:31:07 -08:00
go.toolchain.branch
go.toolchain.rev go.toolchain.rev: bump from Go 1.23.1 to Go 1.23.3 2024-11-14 10:57:49 -08:00
gomod_test.go
header.txt
pkgdoc_test.go
pull-toolchain.sh
shell.nix
staticcheck.conf
update-flake.sh
version-embed.go
version_tailscale_test.go
version_test.go

README.md

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains the majority of Tailscale's open source code. Notably, it includes the tailscaled daemon and the tailscale CLI tool. The tailscaled daemon runs on Linux, Windows, macOS, and to varying degrees on FreeBSD and OpenBSD. The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.

Other Tailscale repos of note:

For background on which parts of Tailscale are open source and why, see https://tailscale.com/opensource/.

Using

We serve packages for a variety of distros and platforms at https://pkgs.tailscale.com.

Other clients

The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers. The GUI wrappers on non-open source platforms are themselves not open source.

Building

We always require the latest Go release, currently Go 1.23. (While we build releases with our Go fork, its use is not required.)

go install tailscale.com/cmd/tailscale{,d}

If you're packaging Tailscale for distribution, use build_dist.sh instead, to burn commit IDs and version info into the binaries:

./build_dist.sh tailscale.com/cmd/tailscale
./build_dist.sh tailscale.com/cmd/tailscaled

If your distro has conventions that preclude the use of build_dist.sh, please do the equivalent of what it does in your distro's way, so that bug reports contain useful version information.

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

Contributing

PRs welcome! But please file bugs. Commit messages should reference bugs.

We require Developer Certificate of Origin Signed-off-by lines in commits.

See git log for our commit message style. It's basically the same as Go's style.

About Us

Tailscale is primarily developed by the people at https://github.com/orgs/tailscale/people. For other contributors, see:

WireGuard is a registered trademark of Jason A. Donenfeld.