config/projects/snapapi/memory/state.json

54 lines
1.9 KiB
JSON

{
"phase": "production-live",
"version": "0.3.0",
"staging": {
"status": "running",
"namespace": "snapapi-staging",
"replicas": 1,
"image": "docker.io/library/snapapi:v0.3.0",
"healthCheck": "passing"
},
"production": {
"status": "running",
"namespace": "snapapi",
"replicas": 2,
"image": "docker.io/library/snapapi:v0.3.0",
"healthCheck": "passing",
"domain": "https://snapapi.eu",
"tls": "Let's Encrypt (valid until 2026-05-20)"
},
"blockers": [
"Stripe billing not yet integrated — paid plans show 'Coming Soon'",
"CI/CD pipeline blocked on git push access"
],
"completed": [
"Core screenshot API (POST /v1/screenshot)",
"Playground endpoint (POST /v1/playground) — no auth, IP rate limited (5/hr), watermarked",
"Watermark service — overlays 'snapapi.eu — upgrade for clean screenshots' on playground output",
"Health check (GET /health)",
"SSRF protection (blocks private IPs, metadata, K8s services)",
"Browser pool with auto-recycling",
"PostgreSQL DB integration (api_keys + usage tables)",
"Usage tracking with per-key limits",
"REDESIGNED landing page — playground as hero demo, no free tier, paid-only pricing",
"Swagger/OpenAPI interactive docs at /docs",
"OpenAPI 3.0.3 spec at /openapi.json (updated for v0.3.0)",
"Production deployment (2 replicas, HA, anti-affinity)",
"Production TLS (Let's Encrypt) on snapapi.eu",
"Staging deployment (1 replica)",
"Cache-aside key lookup (multi-replica fix)",
"Mobile-responsive design",
"Per-route CSP",
"Removed free signup flow (v0.3.0)",
"Closed BUG-002 and BUG-003 (no longer applicable — no free tier)"
],
"notDone": [
"Stripe billing integration",
"Paid tier management",
"CI/CD pipeline (blocked on git push access)",
"Staging TLS (blocked on DNS)",
"Status page",
"Uptime monitoring"
],
"lastSession": "2026-02-19T12:30:00Z"
}