Initial commit: API gateway with admin console

- FastAPI async gateway with httpx proxying to multiple upstreams
- SQLite database with SQLAlchemy ORM
- Admin console: manage services, users, API keys, endpoint access
- Per-key, per-endpoint granular access control
- OpenAPI document sync and caching (5-minute TTL)
- Request/response logging with full transaction inspection
- In-memory rate limiting (per-key, fixed-window)
- Tiered log retention (7d payloads, 90d rows, incremental vacuum)
- TLS verification toggle per service (for self-signed certificates)
- Service connectivity validation with automatic endpoint refresh
- Request browser with filters and deep-link inspection
- Docker setup with persistent volume
- Modal forms for create/edit flows

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Samuel Amar
2026-07-29 14:00:22 +02:00
co-authored by Claude Haiku 4.5
commit 77d7a50fa9
31 changed files with 2927 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
services:
gateway:
build: .
ports:
- "8000:8000"
environment:
# Set a strong random value in production — signs the admin session cookies.
GATEWAY_SECRET_KEY: change-me-in-production
GATEWAY_ADMIN_USER: admin
GATEWAY_ADMIN_PASSWORD: admin
# Retention (days; 0 = keep forever)
GATEWAY_PAYLOAD_RETENTION_DAYS: "7"
GATEWAY_LOG_RETENTION_DAYS: "90"
volumes:
- gateway-data:/data
restart: unless-stopped
volumes:
gateway-data: