Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CliConfig ¶ added in v0.4.1
type CliConfig struct {
ConnectConfig *ConnectConfig `arg:"subcommand:connect" help:"Connect to a funcie deployment to allow local development."`
Environment string `arg:"--env" help:"Funcie environment used if multiple deployments are present." default:"default"`
Region string `arg:"env:AWS_REGION" help:"AWS region to use for deployments; otherwise uses the default AWS CLI region."`
// contains filtered or unexported fields
}
CliConfig provides user input parameters specific to the CLI tool.
func NewCliConfig ¶ added in v0.4.1
type ConfigStore ¶
type ConfigStore interface {
// GetConfigValue retrieves the value of a configuration key.
GetConfigValue(ctx context.Context, key string) (string, error)
}
ConfigStore retrieves dynamic configuration values on-demand.
func NewConfigStore ¶
func NewConfigStore(config *CliConfig, ssmClient SsmClient) ConfigStore
NewConfigStore creates a new ConfigStore.
type ConnectCommand ¶
type ConnectCommand struct {
// contains filtered or unexported fields
}
func NewConnectCommand ¶
func NewConnectCommand( cliConfig *CliConfig, configStore ConfigStore, connectClient SsmClient, tunneller Tunneller, connectivityService ConnectivityService, ) *ConnectCommand
type ConnectConfig ¶ added in v0.4.1
type ConnectConfig struct {
RemoteHost string `arg:"--remote-host,-r" help:"Override the remote host to connect to instead of the Redis default."`
RemotePort int `arg:"--remote-port,-p" help:"Override the remote port to bind to." default:"6379"`
LocalPort int `arg:"--local-port,-l" help:"Override the local port to bind to." default:"6379"`
}
type ConnectivityService ¶
type ConnectivityService interface {
// WaitForConnectivity waits for the given endpoint to be reachable, or the context to be done.
WaitForConnectivity(ctx context.Context, endpoint string) error
}
ConnectivityService provides utilities for testing / awaiting internet connectivity.
func NewHttpConnectivityService ¶
func NewHttpConnectivityService(opts ...HttpConnectivityServiceOptionSetter) ConnectivityService
NewHttpConnectivityService creates a new HttpConnectivityService with optional settings.
type HttpConnectivityServiceOptionSetter ¶
type HttpConnectivityServiceOptionSetter func(*HttpConnectivityServiceOptions)
func WithRetryInterval ¶
func WithRetryInterval(interval time.Duration) HttpConnectivityServiceOptionSetter
WithRetryInterval sets the retry interval for the HttpConnectivityService.
type SsmClient ¶ added in v0.4.1
type SsmClient interface {
GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
StartSession(ctx context.Context, params *ssm.StartSessionInput, optFns ...func(*ssm.Options)) (*ssm.StartSessionOutput, error)
TerminateSession(ctx context.Context, params *ssm.TerminateSessionInput, optFns ...func(*ssm.Options)) (*ssm.TerminateSessionOutput, error)
}
SsmClient is a minimal interface for the AWS SSM client with only the methods used by the CLI.
type SsmTunnellerOptions ¶ added in v0.4.2
type SsmTunnellerOptions struct {
// Output is the output of the StartSession API call.
Output *ssm.StartSessionOutput
// InstanceID is the EC2 instance ID of the target instance.
InstanceID string
}
SsmTunnellerOptions contains the options for OpenTunnel using SSM.
type Tunneller ¶
type Tunneller interface {
// OpenTunnel starts a tunnel to a remote host using the provider-specific options.
OpenTunnel(ctx context.Context, opts interface{}) error
}
Tunneller is an interface for creating a tunnel to a remote host.
func NewSsmTunneller ¶ added in v0.4.2
NewSsmTunneller creates a new WebhookTunnel.