Help us shape the future of Go! Take the 2026 Go Developer Survey

serverinstall

package
v0.11.4 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: MPL-2.0 Imports: 53 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Platforms = map[string]Installer{
	"ecs":        &ECSInstaller{},
	"kubernetes": &K8sInstaller{},
	"nomad":      &NomadInstaller{},
	"docker":     &DockerInstaller{},
}

Functions

This section is empty.

Types

type DockerInstaller added in v0.2.0

type DockerInstaller struct {
	// contains filtered or unexported fields
}

func (*DockerInstaller) HasRunner added in v0.3.0

func (i *DockerInstaller) HasRunner(
	ctx context.Context,
	opts *InstallOpts,
) (bool, error)

HasRunner implements Installer.

func (*DockerInstaller) Install added in v0.2.0

func (i *DockerInstaller) Install(
	ctx context.Context,
	opts *InstallOpts,
) (*InstallResults, string, error)

Install is a method of DockerInstaller and implements the Installer interface to create a waypoint-server as a Docker container

func (*DockerInstaller) InstallFlags added in v0.2.0

func (i *DockerInstaller) InstallFlags(set *flag.Set)

func (*DockerInstaller) InstallRunner added in v0.3.0

func (i *DockerInstaller) InstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

InstallRunner implements Installer by starting a single runner container.

func (*DockerInstaller) OnDemandRunnerConfig added in v0.6.0

func (i *DockerInstaller) OnDemandRunnerConfig() *pb.OnDemandRunnerConfig

func (*DockerInstaller) Uninstall added in v0.2.1

func (i *DockerInstaller) Uninstall(
	ctx context.Context,
	opts *InstallOpts,
) error

Install is a method of DockerInstaller and implements the Installer interface to remove the waypoint-server Docker container and associated image and volume

func (*DockerInstaller) UninstallFlags added in v0.2.1

func (i *DockerInstaller) UninstallFlags(set *flag.Set)

func (*DockerInstaller) UninstallRunner added in v0.3.0

func (i *DockerInstaller) UninstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

UninstallRunner implements Installer.

func (*DockerInstaller) Upgrade added in v0.2.1

func (i *DockerInstaller) Upgrade(
	ctx context.Context, opts *InstallOpts, serverCfg serverconfig.Client) (
	*InstallResults, error,
)

Upgrade is a method of DockerInstaller and implements the Installer interface to upgrade a waypoint-server as a Docker container

func (*DockerInstaller) UpgradeFlags added in v0.2.1

func (i *DockerInstaller) UpgradeFlags(set *flag.Set)

type ECSInstaller added in v0.4.0

type ECSInstaller struct {
	// contains filtered or unexported fields
}

func (*ECSInstaller) HasRunner added in v0.4.0

func (i *ECSInstaller) HasRunner(
	ctx context.Context,
	opts *InstallOpts,
) (bool, error)

HasRunner implements Installer.

func (*ECSInstaller) Install added in v0.4.0

func (i *ECSInstaller) Install(
	ctx context.Context,
	opts *InstallOpts,
) (*InstallResults, string, error)

Install is a method of ECSInstaller and implements the Installer interface to register a waypoint-server in a ecs cluster

func (*ECSInstaller) InstallFlags added in v0.4.0

func (i *ECSInstaller) InstallFlags(set *flag.Set)

func (*ECSInstaller) InstallRunner added in v0.4.0

func (i *ECSInstaller) InstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

InstallRunner implements Installer.

func (*ECSInstaller) Launch added in v0.4.0

func (i *ECSInstaller) Launch(
	ctx context.Context,
	log hclog.Logger,
	ui terminal.UI,
	sess *session.Session,
	efsInfo *awsinstallutil.EfsInformation,
	netInfo *awsinstallutil.NetworkInformation,
	executionRoleArn, clusterName, logGroup string, rawRunFlags []string,
) (*ecsServer, error)

Launch takes the previously created resource and launches the Waypoint server service

func (*ECSInstaller) OnDemandRunnerConfig added in v0.6.0

func (i *ECSInstaller) OnDemandRunnerConfig() *pb.OnDemandRunnerConfig

OnDemandRunnerConfig implements OnDemandRunnerConfigProvider

func (*ECSInstaller) SetupCluster added in v0.4.0

func (i *ECSInstaller) SetupCluster(
	ctx context.Context,
	ui terminal.UI,
	sess *session.Session,
) (string, error)

func (*ECSInstaller) Uninstall added in v0.4.0

func (i *ECSInstaller) Uninstall(
	ctx context.Context,
	opts *InstallOpts,
) error

Uninstall is a method of ECSInstaller and implements the Installer interface to remove a waypoint-server statefulset and the associated PVC and service from a ecs cluster

func (*ECSInstaller) UninstallFlags added in v0.4.0

func (i *ECSInstaller) UninstallFlags(set *flag.Set)

func (*ECSInstaller) UninstallRunner added in v0.4.0

func (i *ECSInstaller) UninstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

func (*ECSInstaller) Upgrade added in v0.4.0

func (i *ECSInstaller) Upgrade(
	ctx context.Context, opts *InstallOpts, serverCfg serverconfig.Client) (
	*InstallResults, error,
)

Upgrade is a method of ECSInstaller and implements the Installer interface to upgrade a waypoint-server in a ecs cluster

func (*ECSInstaller) UpgradeFlags added in v0.4.0

func (i *ECSInstaller) UpgradeFlags(set *flag.Set)

type InstallOpts added in v0.2.1

type InstallOpts struct {
	Log            hclog.Logger
	UI             terminal.UI
	ServerRunFlags []string
}

InstallOpts are the options sent to Installer.Install.

type InstallResults added in v0.2.1

type InstallResults struct {
	// Context is the connection context that can be used to connect from
	// the CLI to the server. This will be used to establish an API client.
	Context *clicontext.Config

	// AdvertiseAddr is the configuration for the advertised address
	// that entrypoints (deployed workloads) will use to communicate back
	// to the server. This may be different from the context info because this
	// may be a private address.
	AdvertiseAddr *pb.ServerConfig_AdvertiseAddr

	// HTTPAddr is the address to the HTTP listener on the server. This generally
	// is reachable from the CLI immediately and not a private address.
	HTTPAddr string
}

InstallResults are the results expected for a successful Installer.Install.

type InstallRunnerOpts added in v0.3.0

type InstallRunnerOpts struct {
	Log hclog.Logger
	UI  terminal.UI

	// AuthToken is an auth token that can be used for this runner.
	AuthToken string

	// AdvertiseAddr is the advertised address configuration currently set
	// for the server. This is likely the same information you want to use
	// for the runner to connect to the server, but doesn't have to be.
	AdvertiseAddr *pb.ServerConfig_AdvertiseAddr

	// AdvertiseClient is the serverconfig.Client information for connecting
	// to the server via the AdvertiseAddr information. This also has the auth
	// token already set. This is provided as a convenience since it is common
	// to build this immediately.
	AdvertiseClient *serverconfig.Client

	Cookie string

	Id string
}

InstallRunnerOpts are the options sent to Installer.InstallRunner.

type Installer added in v0.2.0

type Installer interface {
	// HasRunner returns true if a runner is installed.
	HasRunner(context.Context, *InstallOpts) (bool, error)

	// Install expects the Waypoint server to be installed.
	// Returns InstallResults, a bootstrap token (if platform sets one up), or an error
	Install(context.Context, *InstallOpts) (*InstallResults, string, error)

	// InstallRunner expects a Waypoint runner to be installed.
	InstallRunner(context.Context, *runnerinstall.InstallOpts) error

	// InstallFlags is called prior to Install and allows the installer to
	// specify flags for the install CLI. The flags should be prefixed with
	// the platform name to avoid conflicts with other flags.
	InstallFlags(*flag.Set)

	// Upgrade expects the Waypoint server to be upgraded from a previous install.
	// After upgrading the server, this should also upgrade the primary
	// runner that was installed with InstallRunner, if it exists.
	Upgrade(ctx context.Context, opts *InstallOpts, serverCfg serverconfig.Client) (*InstallResults, error)

	// UpgradeFlags is called prior to Upgrade and allows the upgrader to
	// specify flags for the upgrade CLI. The flags should be prefixed with
	// the platform name to avoid conflicts with other flags.
	UpgradeFlags(*flag.Set)

	// Uninstall expects the Waypoint server to be uninstalled. This should
	// also look up to see if any runners exist (installed via InstallRunner)
	// and remove those as well. Runners manually installed outside of this
	// interface should not be touched.
	Uninstall(context.Context, *InstallOpts) error

	// UninstallRunner should remove the runner(s) installed via InstallRunner.
	//
	// No runners may exist. Runners installed manually by the user should be
	// ignored (i.e. InstallRunner should set some identifiers that can be used
	// to distinguish between automatically installed vs. manually installed).
	UninstallRunner(context.Context, *runnerinstall.InstallOpts) error

	// UninstallFlags is called prior to Uninstall and allows the Uninstaller to
	// specify flags for the uninstall CLI. The flags should be prefixed with the
	// platform name to avoid conflicts with other flags.
	UninstallFlags(*flag.Set)
}

Installer is implemented by the server platforms and is responsible for managing the installation of the Waypoint server.

type K8sInstaller added in v0.2.0

type K8sInstaller struct {
	Config k8sinstallutil.K8sConfig
}

func (*K8sInstaller) HasRunner added in v0.3.0

func (i *K8sInstaller) HasRunner(
	ctx context.Context,
	opts *InstallOpts,
) (bool, error)

HasRunner implements Installer.

func (*K8sInstaller) Install added in v0.2.0

func (i *K8sInstaller) Install(
	ctx context.Context,
	opts *InstallOpts,
) (*InstallResults, string, error)

Install is a method of K8sInstaller and implements the Installer interface to register a waypoint-server in a Kubernetes cluster

func (*K8sInstaller) InstallFlags added in v0.2.0

func (i *K8sInstaller) InstallFlags(set *flag.Set)

func (*K8sInstaller) InstallRunner added in v0.3.0

func (i *K8sInstaller) InstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

InstallRunner implements Installer.

func (*K8sInstaller) OnDemandRunnerConfig added in v0.6.0

func (i *K8sInstaller) OnDemandRunnerConfig() *pb.OnDemandRunnerConfig

OnDemandRunnerConfig implements OnDemandRunnerConfigProvider

func (*K8sInstaller) Uninstall added in v0.2.1

func (i *K8sInstaller) Uninstall(ctx context.Context, opts *InstallOpts) error

Uninstall is a method of K8sInstaller and implements the Installer interface to remove a waypoint-server statefulset and the associated PVC and service from a Kubernetes cluster

func (*K8sInstaller) UninstallFlags added in v0.2.1

func (i *K8sInstaller) UninstallFlags(set *flag.Set)

func (*K8sInstaller) UninstallRunner added in v0.3.0

func (i *K8sInstaller) UninstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

UninstallRunner implements Installer.

func (*K8sInstaller) Upgrade added in v0.2.1

func (i *K8sInstaller) Upgrade(
	ctx context.Context, opts *InstallOpts, serverCfg serverconfig.Client) (
	*InstallResults, error,
)

Upgrade is a method of K8sInstaller and implements the Installer interface to upgrade a waypoint-server in a Kubernetes cluster

func (*K8sInstaller) UpgradeFlags added in v0.2.1

func (i *K8sInstaller) UpgradeFlags(set *flag.Set)

type Lifecycle added in v0.4.0

type Lifecycle struct {
	Init    func(terminal.UI) error
	Run     func(terminal.UI) error
	Cleanup func(terminal.UI) error
}

func (*Lifecycle) Execute added in v0.4.0

func (lf *Lifecycle) Execute(log hclog.Logger, ui terminal.UI) error

type Logging added in v0.4.0

type Logging struct {
	CreateGroup      bool   `hcl:"create_group,optional"`
	StreamPrefix     string `hcl:"stream_prefix,optional"`
	DateTimeFormat   string `hcl:"datetime_format,optional"`
	MultilinePattern string `hcl:"multiline_pattern,optional"`
	Mode             string `hcl:"mode,optional"`
	MaxBufferSize    string `hcl:"max_buffer_size,optional"`
}

type NomadInstaller added in v0.2.0

type NomadInstaller struct {
	// contains filtered or unexported fields
}

func (*NomadInstaller) HasRunner added in v0.3.0

func (i *NomadInstaller) HasRunner(
	ctx context.Context,
	opts *InstallOpts,
) (bool, error)

HasRunner implements Installer.

func (*NomadInstaller) Install added in v0.2.0

func (i *NomadInstaller) Install(
	ctx context.Context,
	opts *InstallOpts,
) (*InstallResults, string, error)

Install is a method of NomadInstaller and implements the Installer interface to register a waypoint-server job with a Nomad cluster

func (*NomadInstaller) InstallFlags added in v0.2.0

func (i *NomadInstaller) InstallFlags(set *flag.Set)

func (*NomadInstaller) InstallRunner added in v0.3.0

func (i *NomadInstaller) InstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

InstallRunner implements Installer.

func (*NomadInstaller) OnDemandRunnerConfig added in v0.6.2

func (i *NomadInstaller) OnDemandRunnerConfig() *pb.OnDemandRunnerConfig

func (*NomadInstaller) Uninstall added in v0.2.1

func (i *NomadInstaller) Uninstall(ctx context.Context, opts *InstallOpts) error

Unnstall is a method of NomadInstaller and implements the Installer interface to stop and purge the waypoint-server job on a Nomad cluster

func (*NomadInstaller) UninstallFlags added in v0.2.1

func (i *NomadInstaller) UninstallFlags(set *flag.Set)

func (*NomadInstaller) UninstallRunner added in v0.3.0

func (i *NomadInstaller) UninstallRunner(
	ctx context.Context,
	opts *runnerinstall.InstallOpts,
) error

UninstallRunner implements Installer.

func (*NomadInstaller) Upgrade added in v0.2.1

func (i *NomadInstaller) Upgrade(
	ctx context.Context, opts *InstallOpts, serverCfg serverconfig.Client) (
	*InstallResults, error,
)

Upgrade is a method of NomadInstaller and implements the Installer interface to upgrade a waypoint-server in a Nomad cluster

func (*NomadInstaller) UpgradeFlags added in v0.2.1

func (i *NomadInstaller) UpgradeFlags(set *flag.Set)

Jump to

Keyboard shortcuts

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