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

runnerinstall

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: 44 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Platforms = map[string]RunnerInstaller{
	"ecs":        &ECSRunnerInstaller{},
	"kubernetes": &K8sRunnerInstaller{},
	"nomad":      &NomadRunnerInstaller{},
	"docker":     &DockerRunnerInstaller{},
}

Functions

This section is empty.

Types

type DockerConfig

type DockerConfig struct {
	RunnerImage string `hcl:"runner_image,optional"`
	Network     string `hcl:"network,optional"`
	SocketPath  string `hcl:"socket_path,optional"`
}

type DockerRunnerInstaller

type DockerRunnerInstaller struct {
	Config DockerConfig
}

func (*DockerRunnerInstaller) Install

func (i *DockerRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) error

func (*DockerRunnerInstaller) InstallFlags

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

func (*DockerRunnerInstaller) OnDemandRunnerConfig added in v0.10.0

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

func (DockerRunnerInstaller) Uninstall

func (d DockerRunnerInstaller) Uninstall(ctx context.Context, opts *InstallOpts) error

func (DockerRunnerInstaller) UninstallFlags

func (d DockerRunnerInstaller) UninstallFlags(set *flag.Set)

type ECSRunnerInstaller

type ECSRunnerInstaller struct {
	Config EcsConfig
	// contains filtered or unexported fields
}

func (*ECSRunnerInstaller) Install

func (i *ECSRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) error

func (*ECSRunnerInstaller) InstallFlags

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

func (*ECSRunnerInstaller) OnDemandRunnerConfig added in v0.10.0

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

OnDemandRunnerConfig implements OnDemandRunnerConfigProvider

func (*ECSRunnerInstaller) Uninstall

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

Uninstall deletes the waypoint-runner service from AWS ECS, and its associated volume from EFS. The log group, execution role, subnets, and ECS cluster are not deleted.

func (*ECSRunnerInstaller) UninstallFlags

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

type EcsConfig

type EcsConfig struct {
	Region            string   `hcl:"region,required"`
	Cluster           string   `hcl:"cluster,required"`
	ExecutionRoleName string   `hcl:"execution_role_name,optional"`
	TaskRoleName      string   `hcl:"task_role_name,optional"`
	CPU               string   `hcl:"runner_cpu,optional"`
	Memory            string   `hcl:"memory_cpu,optional"`
	RunnerImage       string   `hcl:"runner_image,optional"`
	Subnets           []string `hcl:"subnets,optional"`
}

type InstallOpts

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

	// Cookie is the server cookie that can be used for this runner
	Cookie string

	// ServerAddr is the address of the server to which the runner
	// connects
	ServerAddr string

	// 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

	// Unique ID for the runner.
	Id string

	// Flags which will be supplied to the `waypoint runner agent` command
	RunnerAgentFlags []string
}

InstallOpts are the options sent to RunnerInstaller.Install.

type InstalledRunnerConfig

type InstalledRunnerConfig struct {
	Id string `mapstructure:"id"`
}

type K8sRunnerInstaller

type K8sRunnerInstaller struct {
	Config k8sinstallutil.K8sConfig
}

func (*K8sRunnerInstaller) Install

func (i *K8sRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) error

func (*K8sRunnerInstaller) InstallFlags

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

func (*K8sRunnerInstaller) OnDemandRunnerConfig added in v0.10.0

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

OnDemandRunnerConfig implements OnDemandRunnerConfigProvider

func (*K8sRunnerInstaller) Uninstall

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

func (*K8sRunnerInstaller) UninstallFlags

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

type Logging

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 NomadConfig

type NomadConfig struct {
	AuthSoftFail       bool              `hcl:"auth_soft_fail,optional"`
	Namespace          string            `hcl:"namespace,optional"`
	ServiceAnnotations map[string]string `hcl:"service_annotations,optional"`

	RunnerImage string `hcl:"runner_image,optional"`

	Region         string   `hcl:"region,optional"`
	Datacenters    []string `hcl:"datacenters,optional"`
	PolicyOverride bool     `hcl:"policy_override,optional"`

	RunnerResourcesCPU    string `hcl:"runner_resources_cpu,optional"`
	RunnerResourcesMemory string `hcl:"runner_resources_memory,optional"`

	HostVolume           string            `hcl:"host_volume,optional"`
	CsiVolumeProvider    string            `hcl:"csi_volume_provider,optional"`
	CsiVolumeCapacityMin int64             `hcl:"csi_volume_capacity_min,optional"`
	CsiVolumeCapacityMax int64             `hcl:"csi_volume_capacity_max,optional"`
	CsiFS                string            `hcl:"csi_fs,optional"`
	CsiMountFlags        []string          `hcl:"csi_mount_flags,optional"`
	CsiTopologies        map[string]string `hcl:"nomad_csi_topologies,optional"`
	CsiExternalId        string            `hcl:"nomad_csi_external_id,optional"`
	CsiParams            map[string]string `hcl:"nomad_csi_params,optional"`
	CsiPluginId          string            `hcl:"nomad_csi_plugin_id"`
	CsiSecrets           map[string]string `hcl:"nomad_csi_secrets,optional"`
	CsiVolume            string            `hcl:"nomad_csi_volume,optional"`

	NomadHost string `hcl:"nomad_host,optional"`
}

type NomadRunnerInstaller

type NomadRunnerInstaller struct {
	Config NomadConfig
}

func (*NomadRunnerInstaller) Install

func (i *NomadRunnerInstaller) Install(ctx context.Context, opts *InstallOpts) error

func (*NomadRunnerInstaller) InstallFlags

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

func (*NomadRunnerInstaller) OnDemandRunnerConfig added in v0.10.0

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

func (*NomadRunnerInstaller) Uninstall

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

func (*NomadRunnerInstaller) UninstallFlags

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

type RunnerInstaller

type RunnerInstaller interface {
	// Install expects a Waypoint Runner to be installed
	Install(context.Context, *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)

	// Uninstall should remove the runner(s) installed via Install.
	Uninstall(context.Context, *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)
}

Jump to

Keyboard shortcuts

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