update docs

This commit is contained in:
2026-05-11 20:13:11 -03:00
commit 2ffabb672e
40 changed files with 5869 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
# Overview
> A study site built on top of a working Lambda + MinIO sandbox. Read the page, run the code, break things on purpose.
## What this is
The repo at the root of this site (`ethics/`) holds a Python AWS Lambda function — `lambda_function.py` — that lists PDFs in an S3 bucket under a prefix, paginates, generates 15-minute presigned URLs, and writes a JSONL manifest. It runs locally against MinIO via `docker compose`, with the same handler signature as a real Lambda. This site explains the surrounding mental model in the order you'd want to study it before walking into a Lambda-heavy interview or production rotation.
## How it's organised
The sidebar groups topics into four reading orders. **Foundations** is the picture in your head. **Operating** covers the day-to-day knobs. **Production** covers what changes when real users and real money are involved. **Reference** holds the must-know checklist ([Pitfalls](lambda-16-pitfalls.md)), brief orientations on adjacent tools ([Glue, Prometheus/Grafana](lambda-17-adjacent.md)), the hands-on labs ([Labs](lambda-18-labs.md)), and the repo tree ([Repository](lambda-19-repository.md)).
## How to use it
1. **Read top-to-bottom** — the order in the sidebar is the recommended study path.
2. **Run the sandbox.** `make install && make up && SOURCE_DIR=<dir> make seed && make invoke`. The handler executes locally against MinIO; you can break it without burning AWS credit.
3. **Do the labs.** Each one mutates the existing app: deploy to real AWS, add an S3 trigger, switch to arm64, enable Provisioned Concurrency, fan out across prefixes with Step Functions, and so on.
4. **Skim Pitfalls** the night before any interview or design review.
## System overview
> Caller → handler → MinIO/S3 → manifest write-back. The async producer/consumer overlaps S3 LIST calls with presigning + JSONL writes, so the manifest streams to `/tmp` rather than buffering in memory.
![System overview](lambda-system_overview.svg)
**Legend:**
- 🟢 Real / live
- 🟡 Ephemeral / caveat
- 🔵 Lambda boundary
- 🔴 Pitfall