3b5cf0da7a
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
---|---|---|
.github/workflows | ||
infrastructure | ||
script | ||
src | ||
.config | ||
.gitignore | ||
.python-version | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
renovate.json |
lambda-boilerplate
🛠 Skip the boilerplate and start building fun λ things 🛠
Overview
AWS Lambdas are fun, but often the amount of boilerplate involved in getting a project off the ground hinders the fun. From setting up a local environment to writing out infrastructure templates, the overhead of Lambda-based greenfield projects can be daunting. No more. Just use this repository as a template or clone it and jump straight into the action! This repository offers a quick template your can use, full with a Docker setup for local development and invocation commands that you can use to package and deploy Lambda-based apps.
Local development
The base Lambda handler is at src/base.py
and all the Terraform configurations are in infrastructure
.
Tooling
All the tooling is implemented using the One Script to Rule Them
All paradigm and can be found under script
.
Deployment
Deployment is in three steps: on first setup, you will need to make sure that your bootstrap
environment is ready via PROJECT=bootstrap . script/apply
. Then, you should prepare your source code package (dependent on the language and framework you're using, you have to supply this bit!) and ARCHIVE=<path-to-zip> . script/push
. Finally, you can deploy your application resources with PROJECT=app . script/apply
.
Contributing
Got suggestions or improvements you'd like to make? Open a PR or an issue!
Feature requests should keep in mind that the goal of this boilerplate is to be general enough so that the cost of tailoring it to specific use cases is low.