Documentation
¶
Overview ¶
Package awsrunner hosts and invokes the Celerity maintenance runner on AWS.
The runner is a Lambda function in the database's private subnets. Both halves of the AWS-specific story live here, and both register themselves on import: a Host, which delivers Lambda invocations to the cloud-neutral executor, and an Invoker, which the CLI calls it through. Importing this package is the only thing that ties either binary to AWS.
lambda:Invoke is what makes this work. It is a control-plane call, so it reaches a function in a private subnet from an operator's machine with no network path to the VPC at all, and the same credentials that just ran the deploy are enough.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Invoker ¶
type Invoker struct{}
Invoker calls the runner Lambda.
func (*Invoker) Deployed ¶
func (i *Invoker) Deployed(instance *state.InstanceState) bool
Deployed reports whether the instance has a maintenance runner.
func (*Invoker) Invoke ¶
func (i *Invoker) Invoke( ctx context.Context, instance *state.InstanceState, req maintenancerunner.Request, ) (*maintenancerunner.Response, error)
Invoke calls the runner and decodes its response.