go-lambda-url-bastion

command
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2023 License: BSD-3-Clause Imports: 8 Imported by: 0

README

Lambda URL Sample

This is a very simple example that uses Lambda Function URLs to return a JSON response. This sample uses the bastion deployed from the deploy folder, referencing the bastion IP by passing in the LB.

To run this sample, create a terraform.tfvars file that contains values for the variables (according to sample.tfvars). Then, build the lambda by typing make. Finally, deploy it via terraform apply.

When running this locally, you may wish to use gow to watch for changes and rebuild the binary automatically. See https://github.com/mitranim/gow for details on gow.`

For example, to run this locally and automatically restart on any change, you can use:

FUNCIE_APPLICATION_ID=url FUNCIE_CLIENT_BASTION_ENDPOINT=http://localhost:8081 gow run main.go

Then you can simply hit the URL, apply some changes, and see the next invocation automatically pick up the changes.

If you close the local instance, the Lambda will simply respond using the last code you uploaded to the Lambda. Then when you start the local instance, it will automatically continue forwarding requests.

Deployment Variables

When deploying this Lambda, you will need to pass the following Terraform variables in your terraform.tfvars file:

  • subnet_ids: List of (private) subnet IDs for the Lambda function
  • security_group_ids: List of security group IDs for the Lambda function
  • redis_host: Address of the Redis host, including port.
  • bastion_lb_arn: The ARN for the load balancer created to be used for the bastion (can be viewed in the outputs).
  • region: AWS region to deploy to.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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