package clientupdate
import "tailscale.com/clientupdate"
Package clientupdate implements tailscale client update for all supported platforms. This package can be used from both tailscaled and tailscale binaries.
Index ¶
- Constants
- Variables
- func CanAutoUpdate() bool
- func LatestTailscaleVersion(track string) (string, error)
- func Update(args Arguments) error
- type Arguments
- type Updater
Constants ¶
const ( StableTrack = "stable" UnstableTrack = "unstable" )
Variables ¶
var CurrentTrack = func() string { if version.IsUnstableBuild() { return UnstableTrack } else { return StableTrack } }()
Functions ¶
func CanAutoUpdate ¶
func CanAutoUpdate() bool
CanAutoUpdate reports whether auto-updating via the clientupdate package is supported for the current os/distro.
func LatestTailscaleVersion ¶
LatestTailscaleVersion returns the latest released version for the given track from pkgs.tailscale.com.
func Update ¶
Update runs a single update attempt using the platform-specific mechanism.
On Windows, this copies the calling binary and re-executes it to apply the update. The calling binary should handle an "update" subcommand and call this function again for the re-executed binary to proceed.
Types ¶
type Arguments ¶
type Arguments struct { // Version is the specific version to install. // Mutually exclusive with Track. Version string // Track is the release track to use: // // - CurrentTrack will use the latest version from the same track as the // running binary // - StableTrack and UnstableTrack will use the latest versions of the // corresponding tracks // // Leaving this empty will use Version or fall back to CurrentTrack if both // Track and Version are empty. Track string // Logf is a logger for update progress messages. Logf logger.Logf // Stdout and Stderr should be used for output instead of os.Stdout and // os.Stderr. Stdout io.Writer Stderr io.Writer // Confirm is called when a new version is available and should return true // if this new version should be installed. When Confirm returns false, the // update is aborted. Confirm func(newVer string) bool // PkgsAddr is the address of the pkgs server to fetch updates from. // Defaults to "https://pkgs.tailscale.com". PkgsAddr string // ForAutoUpdate should be true when Updater is created in auto-update // context. When true, NewUpdater returns an error if it cannot be used for // auto-updates (even if Updater.Update field is non-nil). ForAutoUpdate bool }
Arguments contains arguments needed to run an update.
type Updater ¶
type Updater struct { Arguments // Update is a platform-specific method that updates the installation. May be // nil (not all platforms support updates from within Tailscale). Update func() error // contains filtered or unexported fields }
func NewUpdater ¶
Source Files ¶
clientupdate.go clientupdate_downloads.go clientupdate_notwindows.go
Directories ¶
Path | Synopsis |
---|---|
clientupdate/distsign | Package distsign implements signature and validation of arbitrary distributable files. |
- Version
- v1.84.0 (latest)
- Published
- May 21, 2025
- Platform
- linux/amd64
- Imports
- 26 packages
- Last checked
- 2 days ago –
Tools for package owners.