Multi-Tenant Workspaces & Fleet
Isolate user projects with automated personal workspace provisioning, separate SQLite databases, and decoupled settings between platform fleets and microservices.
Automatic Workspace Auto-Provisioning
When a user authenticates via Supabase Auth or GitHub OAuth, Ichnois automatically provisions a private personal workspace bound to their Supabase user ID alongside a default microservice project.
- Data Isolation: User workspaces are isolated at the database query level, preventing accidental cross-tenant incident leakage.
- In-Memory Metrics Caching: Workspace operational metrics (active runs, incident counts, gate states) are cached with a 5-minute TTL to ensure fast dashboard load times.
| 1 | # Multi-tenant workspace auto-provisioning |
| 2 | user_ws = ensure_user_workspace(user_id=current_user["user_id"], email=current_user["email"]) |
| 3 | # Returns: WorkspaceRecord(workspace_id="ws_user123", name="Personal Workspace", plan="free") |
| 4 | |
| 5 | # Project registration & DSN generation |
| 6 | project = create_project( |
| 7 | name="payments-service", |
| 8 | environment="production", |
| 9 | owner_id=user_ws.owner_id, |
| 10 | workspace_id=user_ws.workspace_id, |
| 11 | ) |
| 12 | # DSN: https://proj_c76fccfd95bd@ichnoisapi.onrender.com/proj_c76fccfd95bd |
Microservice Fleet Hub
Navigate to Projects in the developer console to view your microservice fleet. Each service card provides:
- Live Gate 1 and Gate 2 triage status badges
- Dedicated Sentry-compatible DSN snippet with one-click copy
- Dynamic key rotation button with immediate edge cache invalidation
- Direct link to the service-specific incident stream and blame logs
Telemetry Key Rotation & Invalidation
If a public telemetry key is exposed, click Rotate Key in the project card or call the API. Server B generates a new pk_live_ key and dispatches an instant invalidation payload to Server A Edge Gateway (/internal/v1/cache/keys/invalidate), revoking the compromised key within milliseconds.