cliutil

package
v2.5.0-rc.8 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2022 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoNetwork = errors.New("telepresence network is not established")
View Source
var ErrNoTrafficManager = errors.New("telepresence traffic manager is not connected")
View Source
var ErrNoUserDaemon = errors.New("telepresence user daemon is not running")

Functions

func ClientEnsureLoggedIn added in v2.4.10

func ClientEnsureLoggedIn(ctx context.Context, apikey string, connectorClient connector.ConnectorClient) (connector.LoginResult_Code, error)

ClientEnsureLoggedIn is like EnsureLoggedIn but uses an already acquired ConnectorClient.

func CommandsToRPC added in v2.5.0

func CommandsToRPC(cmds CommandGroups) *connector.CommandGroups

func Disconnect added in v2.5.0

func Disconnect(ctx context.Context, quitUserDaemon, quitRootDaemon bool) (err error)

Disconnect shuts down a session in the root daemon. When it shuts down, it will tell the connector to shut down.

func EnsureLoggedIn

func EnsureLoggedIn(ctx context.Context, apikey string) (connector.LoginResult_Code, error)

EnsureLoggedIn ensures that the user is logged in to Ambassador Cloud. An error is returned if login fails. The result code will indicate if this is a new login or if it resued an existing login. If the `apikey` argument is empty an interactive login is performed; if it is non-empty the key is used instead of performing an interactive login.

func EnsureLoggedOut

func EnsureLoggedOut(ctx context.Context) error

EnsureLoggedOut ensures that the user is logged out of Ambassador Cloud. Returns nil if not logged in.

func GetCloudAPIKey

func GetCloudAPIKey(ctx context.Context, description string, autoLogin bool) (string, error)

func GetCloudLicense added in v2.2.0

func GetCloudLicense(ctx context.Context, outputFile, id string) (string, string, error)

GetCloudLicense communicates with system a to get the jwt version of the license, puts it in a kubernetes secret, and then writes that secret to the output file for the user to apply to their cluster

func GetCloudUserInfo added in v2.3.7

func GetCloudUserInfo(ctx context.Context, autoLogin bool, refresh bool) (*connector.UserInfo, error)

func GetTelepresencePro added in v2.5.0

func GetTelepresencePro(ctx context.Context) error

GetTelepresencePro prompts the user to optionally install Telepresence Pro if it isn't installed. If the user installs it, it also asks the user to automatically update their configuration to use the new binary.

func HasLoggedIn

func HasLoggedIn(ctx context.Context) bool

HasLoggedIn returns true if either the user has an active login session or an expired login session, and returns false if either the user has never logged in or has explicitly logged out.

func Logout

func Logout(ctx context.Context) error

Logout logs out of Ambassador Cloud. Returns an error if not logged in.

func UserDaemonDisconnect added in v2.5.0

func UserDaemonDisconnect(ctx context.Context, quitUserDaemon bool) error

func WithConnector

func WithConnector(ctx context.Context, fn func(context.Context, connector.ConnectorClient) error) error

WithConnector (1) ensures that the connector is running, (2) establishes a connection to it, and (3) runs the given function with that connection.

It streams to stdout any messages that the connector wants us to display to the user (which WithConnector listens for via the UserNotifications gRPC call). WithConnector does NOT make the "Connect" gRPC call or any other gRPC call except for UserNotifications.

Nested calls to WithConnector will reuse the outer connection.

func WithManager added in v2.3.3

func WithManager(ctx context.Context, fn func(context.Context, manager.ManagerClient) error) error

func WithNetwork added in v2.5.0

func WithNetwork(ctx context.Context, fn func(context.Context, daemon.DaemonClient) error) error

WithNetwork (1) ensures that the daemon is running, (2) establishes a connection to it, and (3) runs the given function with that connection.

Nested calls to WithNetwork will reuse the outer connection.

func WithStartedConnector added in v2.3.3

func WithStartedConnector(ctx context.Context, withNotify bool, fn func(context.Context, connector.ConnectorClient) error) error

WithStartedConnector is like WithConnector, but returns ErrNoUserDaemon if the connector is not already running, rather than starting it.

func WithStartedNetwork added in v2.5.0

func WithStartedNetwork(ctx context.Context, fn func(context.Context, daemon.DaemonClient) error) error

WithStartedNetwork is like WithNetwork, but returns ErrNoNetwork if the daemon is not already running, rather than starting it.

Types

type CommandGroups added in v2.5.0

type CommandGroups map[string][]*cobra.Command

func RPCToCommands added in v2.5.0

func RPCToCommands(remote *connector.CommandGroups, runner func(*cobra.Command, []string) error) (CommandGroups, error)

type FlagGroup added in v2.5.0

type FlagGroup struct {
	Name  string
	Flags *pflag.FlagSet
}

FlagGroup represents a group of flags and the name of that group

type TypeEnum added in v2.5.0

type TypeEnum string

TypeEnum is an enum-string that identifies the datatype to use both for (1) parsing the default value of a flag, and for (2) validating and normalizing the flag value that the user passes on the CLI.

See the `flagTypes` variable in `flagtypes.go` for a listing of valid values.

func TypeFromString added in v2.5.0

func TypeFromString(s string) (TypeEnum, error)

func (TypeEnum) NewFlagValueFromJson added in v2.5.0

func (t TypeEnum) NewFlagValueFromJson(untypedDefault interface{}) (Value, error)

func (TypeEnum) NewFlagValueFromPFlagString added in v2.5.0

func (t TypeEnum) NewFlagValueFromPFlagString(stringDefault string) (Value, error)

func (*TypeEnum) UnmarshalJSON added in v2.5.0

func (t *TypeEnum) UnmarshalJSON(dat []byte) error

type Value added in v2.5.0

type Value interface {
	pflag.Value
	AsArgs(flagname string) []string
}

Jump to

Keyboard shortcuts

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