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 TunnelOptions ¶
type TunnelOptions struct { // Headers is a map of headers to send with the connection request. Headers http.Header Output ssm.StartSessionOutput InstanceId string }
TunnelOptions provides optional arguments for creating a network tunnel.
type Tunneller ¶
type Tunneller interface { // OpenTunnel starts a tunnel to a remote host on the given port locally. OpenTunnel(ctx context.Context, endpoint string, localPort int, opts *TunnelOptions) error }
Tunneller is an interface for creating a tunnel to a remote host.
func NewWebhookTunneller ¶
NewWebhookTunneller creates a new WebhookTunnel.