cli

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2025 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultSSHKeyPath is the fallback location for the SSH private key when provisioning remote machines.
	// Used when no key is explicitly provided and SSH agent authentication fails.
	DefaultSSHKeyPath = "~/.ssh/id_ed25519"
)

Variables

This section is empty.

Functions

func BuildServices added in v0.8.0

func BuildServices(ctx context.Context, servicesToBuild map[string]composetypes.ServiceConfig, opts BuildOptions) error

BuildServices builds the services defined in the provided map.

func Confirm

func Confirm() (bool, error)

func ExpandCommaSeparatedValues added in v0.6.0

func ExpandCommaSeparatedValues(values []string) []string

ExpandCommaSeparatedValues takes a slice of strings and expands any comma-separated values into individual elements.

func GetServicesThatNeedBuild added in v0.8.0

func GetServicesThatNeedBuild(project *composetypes.Project) map[string]composetypes.ServiceConfig

GetServicesThatNeedBuild returns a map of services that require building

Types

type AddMachineOptions added in v0.7.0

type AddMachineOptions struct {
	Context       string
	MachineName   string
	PublicIP      *netip.Addr
	RemoteMachine *RemoteMachine
	Version       string
}

type BuildOptions added in v0.8.0

type BuildOptions struct {
	Files    []string
	Profiles []string
	Services []string
	Push     bool
	NoCache  bool
}

type CLI

type CLI struct {
	Config *config.Config
	// contains filtered or unexported fields
}

func New

func New(configPath string, conn *config.MachineConnection) (*CLI, error)

New creates a new CLI instance with the given config path or remote machine connection. If the connection is provided, the config is ignored for all operations which is useful for interacting with a cluster without creating a config.

func (*CLI) AddMachine

func (cli *CLI) AddMachine(ctx context.Context, opts AddMachineOptions) (*client.Client, *client.Client, error)

AddMachine provisions a remote machine and adds it to the cluster. It returns a cluster client and a machine client. The cluster client is connected to the existing machine in the cluster. It was used to add the new machine to the cluster. The machine client is connected to the new machine and can be used to interact with it. Both client should be closed after use by the caller.

func (*CLI) ConnectCluster

func (cli *CLI) ConnectCluster(ctx context.Context, contextName string) (*client.Client, error)

ConnectCluster connects to a cluster using the given context name or the current context if not specified. If the CLI was initialised with a machine connection, the config is ignored and the connection is used instead.

func (*CLI) CreateContext added in v0.6.0

func (cli *CLI) CreateContext(name string) error

func (*CLI) InitCluster

func (cli *CLI) InitCluster(ctx context.Context, opts InitClusterOptions) (*client.Client, error)

InitCluster initialises a new cluster on a remote machine and returns a client to interact with the cluster. The client should be closed after use by the caller.

func (*CLI) ProgressOut

func (cli *CLI) ProgressOut() *streams.Out

ProgressOut returns an output stream for progress writer.

func (*CLI) SetCurrentContext added in v0.6.0

func (cli *CLI) SetCurrentContext(name string) error

type InitClusterOptions added in v0.7.0

type InitClusterOptions struct {
	Context       string
	MachineName   string
	Network       netip.Prefix
	PublicIP      *netip.Addr
	RemoteMachine *RemoteMachine
	Version       string
}

type RemoteMachine

type RemoteMachine struct {
	User    string
	Host    string
	Port    int
	KeyPath string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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