ipnserver

package
v1.12.4 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2021 License: BSD-3-Clause Imports: 40 Imported by: 15

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BabysitProc

func BabysitProc(ctx context.Context, args []string, logf logger.Logf)

BabysitProc runs the current executable as a child process with the provided args, capturing its output, writing it to files, and restarting the process on any crashes.

It's only currently (2020-10-29) used on Windows.

func FixedEngine added in v1.0.0

func FixedEngine(eng wgengine.Engine) func() (wgengine.Engine, error)

FixedEngine returns a func that returns eng and a nil error.

func Run

func Run(ctx context.Context, logf logger.Logf, logid string, getEngine func() (wgengine.Engine, error), opts Options) error

Run runs a Tailscale backend service. The getEngine func is called repeatedly, once per connection, until it returns an engine successfully.

Types

type Options

type Options struct {
	// SocketPath, on unix systems, is the unix socket path to listen
	// on for frontend connections.
	SocketPath string

	// Port, on windows, is the localhost TCP port to listen on for
	// frontend connections.
	Port int

	// StatePath is the path to the stored agent state.
	StatePath string

	// AutostartStateKey, if non-empty, immediately starts the agent
	// using the given StateKey. If empty, the agent stays idle and
	// waits for a frontend to start it.
	AutostartStateKey ipn.StateKey

	// SurviveDisconnects specifies how the server reacts to its
	// frontend disconnecting. If true, the server keeps running on
	// its existing state, and accepts new frontend connections. If
	// false, the server dumps its state and becomes idle.
	//
	// This is effectively whether the platform is in "server
	// mode" by default. On Linux, it's true; on Windows, it's
	// false. But on some platforms (currently only Windows), the
	// "server mode" can be overridden at runtime with a change in
	// Prefs.ForceDaemon/WantRunning.
	//
	// To support CLI connections (notably, "tailscale status"),
	// the actual definition of "disconnect" is when the
	// connection count transitions from 1 to 0.
	SurviveDisconnects bool

	// DebugMux, if non-nil, specifies an HTTP ServeMux in which
	// to register a debug handler.
	DebugMux *http.ServeMux
}

Options is the configuration of the Tailscale node agent.

Jump to

Keyboard shortcuts

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