Skip to content

feat: apply production learnings from pbx and vagrant-story#17

Merged
amrtgaber merged 1 commit into
mainfrom
feat/production-learnings
Mar 31, 2026
Merged

feat: apply production learnings from pbx and vagrant-story#17
amrtgaber merged 1 commit into
mainfrom
feat/production-learnings

Conversation

@amrtgaber
Copy link
Copy Markdown
Contributor

Summary

  • Add PII redaction processor to structured logging (redacts password, token, secret, cookie, api_key, credential keys)
  • Add missing structlog processors (PositionalArgumentsFormatter, format_exc_info) for proper exception rendering
  • Replace default Swagger docs with Scalar API reference
  • Add Cache-Control middleware (no-store for auth, public max-age=3600 for GETs)
  • Skip health check endpoints (/, /health) in request logging to reduce noise
  • Add migration-aware Docker startup via start.sh (runs alembic upgrade head before uvicorn)
  • Add name field to User model, schemas, and migration

Test plan

  • ruff check passes
  • ruff format --check passes
  • All 21 pytest tests pass
  • CI passes

Add PII redaction to structured logging, missing structlog processors,
Scalar API docs, Cache-Control headers, health check log suppression,
migration-aware Docker startup, and user name field.
@amrtgaber amrtgaber merged commit 1c3c84e into main Mar 31, 2026
2 checks passed
@amrtgaber amrtgaber deleted the feat/production-learnings branch March 31, 2026 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant