Commit Graph

19 Commits (main)

Author SHA1 Message Date
Paul Scott 82394debb7 cmd/tailscale: add shell tab-completion
The approach is lifted from cobra: `tailscale completion bash` emits a bash
script for configuring the shell's autocomplete:

    . <( tailscale completion bash )

so that typing:

    tailscale st<TAB>


    tailscale completion __complete -- st

RELNOTE=tailscale CLI now supports shell tab-completion

Fixes #3793

Signed-off-by: Paul Scott <>
1 month ago
Will Norris 652f77d236 client/web: switch to using prebuilt web client assets
Updates tailscale/corp#13775

Co-authored-by: Sonia Appasamy <>
Signed-off-by: Sonia Appasamy <>
Signed-off-by: Will Norris <>
8 months ago
Will Norris d74c771fda client/web: always use new web client; remove old client
This uses the new react-based web client for all builds, not just with
the --dev flag.

If the web client assets have not been built, the client will serve a
message that Tailscale was built without the web client, and link to
build instructions. Because we will include the web client in all of our
builds, this should only be seen by developers or users building from
source. (And eventually this will be replaced by attempting to download
needed assets as runtime.)

We do now checkin the build/index.html file, which serves the error
message when assets are unavailable.  This will also eventually be used
to trigger in CI when new assets should be built and uploaded to a
well-known location.

Updates tailscale/corp#13775

Signed-off-by: Will Norris <>
9 months ago
Denton Gentry 6554a0cbec use $go consistently.
The invocation at the end unconditionally used
./tool/go, but the structuring on lines 14-17
sets up to use a different toolchain if the
platform requires it.


Signed-off-by: Denton Gentry <>
12 months ago
ayanamist 042f82ea32 make cross-compilation friendly for env CC specified
Signed-off-by: ayanamist <>
1 year ago
Nahum Shalman 82e067e0ff make cross-compilation friendly
Signed-off-by: Nahum Shalman <>
1 year ago
David Anderson 149de5e6d6 use cmd/mkversion to get version data
Replaces the former shell goop, which was a shell reimplementation
of a subset of version/mkversion.

Signed-off-by: David Anderson <>
1 year ago
Maisem Ali c01c84ea8e cmd/tailscale/cli: add "configure kubeconfig" subcommand
It takes in a node hostname and configures the local kubeconfig file to
point to that.

Updates #7220

Signed-off-by: Maisem Ali <>
1 year ago
David Anderson 70a2929a12 version: make all exported funcs compile-time constant or lazy
Signed-off-by: David Anderson <>
1 year ago
David Anderson 8b2ae47c31 version: unexport all vars, turn Short/Long into funcs
The other formerly exported values aren't used outside the package,
so just unexport them.

Signed-off-by: David Anderson <>
1 year ago
Andrew Dunham c2d7940ec0 cmd/tailscaled, net/tstun: add build tags to omit BIRD and TAP
Signed-off-by: Andrew Dunham <>
Change-Id: I7a39f4eeeb583b73ecffaf4c5f086a38e3a53e2e
2 years ago
James Tucker d5fb852718 add --box and --extra-small flag to produce smaller and boxed binaries
- `--box` when ./cmd/tailscaled is built with this flag, it builds a
  "toybox" style binary that includes tailscale and tailscaled.
- `--extra-small` strip the output binary and omit some dependencies
  (currently AWS integration).

Signed-off-by: James Tucker <>
2 years ago
Maisem Ali 01a9906bf8 tool/go: add wrapper to download and use go.toolchain.rev go version.
Also update and to use the wrapper.

Signed-off-by: Maisem Ali <>
2 years ago
Maisem Ali 9feb483ad3 use instead of docker
Signed-off-by: Maisem Ali <>
3 years ago
David Anderson dfb1385fcc add a command to output the shell vars.
Some downstream distros eval'd version/ to get at the shell variables
within their own build process. They can now `./ shellvars` to get

Fixes #2058.

Signed-off-by: David Anderson <>
3 years ago
David Anderson aa6abc98f3 fix after the change to version stamping.
Signed-off-by: David Anderson <>
3 years ago
David Anderson 39bbb86b09 build_dist: fix after version refactor. 4 years ago
David Anderson 437142daa5 version: calculate version info without using git tags.
This makes it easier to integrate this version math into a submodule-ful
world. We'll continue to have regular git tags that parallel the information
in VERSION, so that builds out of this repository behave the same.

Signed-off-by: David Anderson <>
4 years ago
David Anderson 54e6c3a290 version: use OSS repo's version when building.
When building with redo, also include the git commit hash
from the proprietary repo, so that we have a precise commit
that identifies all build info (including Go toolchain version).

Add a top-level build script demonstrating to downstream distros
how to burn the right information into builds.

Adjust `tailscale version` to print commit hashes when available.

Fixes #841.

Signed-off-by: David Anderson <>
4 years ago