ssm

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultSsmInstallerRegion = "us-west-2"

Initial region ssm installer is downloaded from. When installer runs, it will down the agent from the proper region configured in the nodeConfig during init command

Variables

View Source
var (
	SsmDaemonName = "amazon-ssm-agent"
)

Functions

func CheckEndpointAccess

func CheckEndpointAccess(ctx context.Context, config aws.Config) error

func DeregisterAndUninstall

func DeregisterAndUninstall(ctx context.Context, logger *zap.Logger, pkgSource PkgSource) error

DeregisterAndUninstall de-registers the managed instance and removes all files and components that make up the ssm agent component.

func GetManagedHybridInstanceId

func GetManagedHybridInstanceId() (string, error)

func GetManagedHybridInstanceIdAndRegion

func GetManagedHybridInstanceIdAndRegion() (string, string, error)

func Install

func Install(ctx context.Context, opts InstallOptions) error

func NewSsmDaemon

func NewSsmDaemon(daemonManager daemon.DaemonManager, cfg *api.NodeConfig, logger *zap.Logger) daemon.Daemon

func Uninstall

func Uninstall(ctx context.Context, logger *zap.Logger, pkgSource PkgSource) error

Uninstall uninstall the ssm agent package and removes the setup-cli binary. It does not de-register the managed instance and it leaves the registration and credentials file.

func WaitForAWSConfig

func WaitForAWSConfig(ctx context.Context, nodeConfig *api.NodeConfig, backoff time.Duration) (aws.Config, error)

Types

type AccessValidator

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

AccessValidator validates access to the AWS SSM API endpoint.

func NewAccessValidator

func NewAccessValidator(aws aws.Config) AccessValidator

NewAccessValidator returns a new AccessValidator.

func (AccessValidator) Run

type HybridInstanceRegistration

type HybridInstanceRegistration struct {
	ManagedInstanceID string `json:"ManagedInstanceID"`
	Region            string `json:"Region"`
}

type InstallOptions added in v1.0.3

type InstallOptions struct {
	Tracker       *tracker.Tracker
	Source        Source
	Logger        *zap.Logger
	Region        string
	InstallerPath string
}

type PkgSource

type PkgSource interface {
	GetSSMPackage() artifact.Package
}

PkgSource serves and defines the package for target platform

type SSMInstallerOption added in v1.0.3

type SSMInstallerOption func(*ssmInstallerSource)

func WithPublicKey added in v1.0.3

func WithPublicKey(key string) SSMInstallerOption

WithPublicKey allows setting the public key for signature validation

func WithURLBuilder added in v1.0.3

func WithURLBuilder(builder func() (string, error)) SSMInstallerOption

WithURLBuilder allows overriding the SSM installer download URL.

type Source

type Source interface {
	GetSSMInstaller(ctx context.Context) (io.ReadCloser, error)
	GetSSMInstallerSignature(ctx context.Context) (io.ReadCloser, error)
	PublicKey() string
}

Source serves an SSM installer binary for the target platform.

func NewSSMInstaller

func NewSSMInstaller(logger *zap.Logger, region string, opts ...SSMInstallerOption) Source

SSMInstaller provides a Source that retrieves the SSM installer from the official release endpoint.

Jump to

Keyboard shortcuts

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