This repository demonstrates an example on how to run a simple Go lambda with an AWS API Gateway on localstack. Here localstack is provisioned using tflocal (a localstack specific wrapper around Terraform). In addition, the repository contains an example on levaraging localstack in combination with ory/dockertest in order to integration test your Go Lambda.
- Docker
Run make ci-init && make ci-test-integration
- Docker
- Go
- terraform & terraform local
- aws cli & awscli-local in case you want to check what has been "deployed" in localstack
- Run
make localstack
- Run
make terraform
- Use the output
api_gw_id
to compose the url - Curl the hello world endpoint:
curl --location --request GET "http://localhost:4566/restapis/$(tflocal -chdir=infra/terraform output -raw api_gw_id)/test/_user_request_/hello-world"
Make sure you don't have a running localstack container.
- Run
make test-integration