Development
Working on the backend itself — the Go Lambda handlers and the Python CDK app that deploys them.
Run integration tests
The Ginkgo unit suite against mocked AWS services, and the Pytest suite that runs against a live deployment.
Extending the Cloud Backend
Add your own endpoint, IoT rule or handler, and wire it into the existing stack groups.
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:
| Command | Does |
|---|---|
make go_build | Builds the Lambda binaries |
make test | Ginkgo unit tests against mocked AWS services |
make itest | Pytest suite against a live deployment |
make deploy | Builds 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.
Related
- Deploy from Source — the CDK route and its prerequisites
- API Reference — the surface your handlers sit behind
- Cloud Backend overview — what the service does, and how it is built