clientupdate

package
v0.0.0-...-9d29f1b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2023 License: BSD-3-Clause Imports: 26 Imported by: 0

Documentation

Overview

Package clientupdate implements tailscale client update for all supported platforms. This package can be used from both tailscaled and tailscale binaries.

Index

Constants

View Source
const (
	CurrentTrack  = ""
	StableTrack   = "stable"
	UnstableTrack = "unstable"
)

Variables

This section is empty.

Functions

func LatestTailscaleVersion

func LatestTailscaleVersion(track string) (string, error)

LatestTailscaleVersion returns the latest released version for the given track from pkgs.tailscale.com.

func Update

func Update(args Arguments) error

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 can be a specific version number or one of the predefined track
	// constants:
	//
	//   - 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 is the same as using CurrentTrack.
	Version string
	// AppStore forces a local app store check, even if the current binary was
	// not installed via an app store. TODO(cpalmer): Remove this.
	AppStore bool
	// Logf is a logger for update progress messages.
	Logf logger.Logf
	// 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
}

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

func NewUpdater(args Arguments) (*Updater, error)

Directories

Path Synopsis
Package distsign implements signature and validation of arbitrary distributable files.
Package distsign implements signature and validation of arbitrary distributable files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL