A walk through the deployment story of Fitz — healthchecks, secrets as opaque types, OpenTelemetry observability, autogenerated Dockerfiles, and fitz deploy. Production-ready isn't a checklist, it's syntax.

The deployment story most languages don't tell

The first 80% of a service is fun: routes, types, business logic, tests. The last 20% is the part that ships the thing, and that's where everyone tapes together five different tools:

Some psutil-style healthcheck library because Kubernetes wants /healthz.

python-decouple or pydantic-settings for env vars, plus your own Secret class that hopefully doesn't end up in logs.