-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Add a lightweight web UI for monitoring encryption key status, active uploads, and proxy health.
Problem
Operators currently have no visual way to see:
- Which encryption key is active
- How many multipart uploads are in progress
- Memory pressure and concurrency status
- Recent errors or rejected requests
Prometheus + Grafana (#9) covers metrics, but a built-in dashboard provides a quick overview without external tooling.
Proposal
A simple web UI served at /admin (or configurable path), showing:
Key status:
- Active KEK fingerprint (hash, not the key itself)
- Number of objects encrypted with each key version (if key rotation is implemented)
Upload status:
- Active multipart uploads (count, oldest, bucket/key)
- Upload completion rate
- Failed/aborted uploads
System health:
- Memory budget usage (reserved / limit)
- Active concurrent requests
- Recent 503 rejections
- Uptime and version
Tech stack:
- Lightweight: server-rendered HTML or minimal JS (no React/Vue)
- No additional dependencies if possible (Jinja2 is already available via FastAPI)
- Protected by auth (basic auth or same S3 credentials)
Considerations
- Must not expose encryption keys or sensitive data
- Should be disabled by default (
S3PROXY_ADMIN_UI=true) - Read-only: no mutations from the UI
- Keep it minimal — this is an ops tool, not a full management console
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels