Skip to main content

Development

Working on the backend itself — the Go Lambda handlers and the Python CDK app that deploys them.

What the repository looks like

The repository is a Go workspace for the Lambda handlers plus a Python CDK app for the infrastructure, and the top-level Makefile is the entry point for every workflow:

CommandDoes
make go_buildBuilds the Lambda binaries
make testGinkgo unit tests against mocked AWS services
make itestPytest suite against a live deployment
make deployBuilds and deploys every stack group in dependency order

The mock-based tests carry the bulk of the coverage because they parallelise and run fast; the integration tests exist for the things only a real deployment shows you, such as a missing permission or an unattached IoT policy. Both have to pass, in that order.