No description
This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Marc Cataford 494bb4d681
refactor: pure bash instead of python scripts (#9)
docs: instructions around tooling

infra: fix linting and CI
2022-09-23 01:11:41 -04:00
.github/workflows refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00
infrastructure refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00
script refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00
src Initial version (#1) 2020-09-26 01:14:56 -04:00
.config refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00
.gitignore refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00
.python-version Initial version (#1) 2020-09-26 01:14:56 -04:00
docker-compose.yml Initial version (#1) 2020-09-26 01:14:56 -04:00
Dockerfile Initial version (#1) 2020-09-26 01:14:56 -04:00
LICENSE Initial commit 2020-08-23 01:43:53 -04:00
README.md refactor: pure bash instead of python scripts (#9) 2022-09-23 01:11:41 -04:00

lambda-boilerplate

🛠 Skip the boilerplate and start building fun λ things 🛠

Lambda Boilerplate

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.

Read more about Sceptre

Read more about AWS Lambda

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.