Summary
We need a way to signal technical difficulty or maintenance to users without taking the whole site down. An admin/ops person should be able to set and clear a status message that appears in the platform UI.
Requirements
- Manual trigger (admin/ops initiated)
- Free-form message with severity level (info / warning / critical)
- Visible as a banner in the platform app (openmeet-platform)
- CLI/kubectl workflow to set and clear
- Must be fast to activate in an emergency
Suggested approach: ConfigMap + API endpoint
Simplest approach that leverages existing infrastructure:
- ConfigMap — Store status message and severity in a Kubernetes ConfigMap (or a simple JSON file for non-k8s deployments)
- API endpoint —
GET /api/status returns the current status message (if any)
- Platform polling — Frontend polls
/api/status periodically (every 60s + on tab focus) and shows a banner when active
API
// GET /api/status
{
"active": true,
"severity": "warning", // "info" | "warning" | "critical"
"message": "We're experiencing intermittent issues with event publishing. Working on a fix.",
"since": "2026-03-02T14:00:00Z"
}
Setting status
# Via ConfigMap (k8s)
kubectl create configmap system-status \
--from-literal=active=true \
--from-literal=severity=warning \
--from-literal=message="Maintenance in progress" \
-n prod --dry-run=client -o yaml | kubectl apply -f -
# Clear
kubectl delete configmap system-status -n prod
Platform UI
- Use Quasar's QBanner component
- Color by severity: blue (info), yellow (warning), red (critical)
- Dismissible but reappears on next poll if still active
Existing building blocks
- Platform already has a version polling system (10 min + tab focus events)
- Quasar Notify/Banner components available
Trade-offs
- ~60s propagation delay (ConfigMap volume mount refresh) — acceptable for most scenarios
- For instant propagation, could use Redis pub/sub or a direct API write endpoint instead of ConfigMap
Summary
We need a way to signal technical difficulty or maintenance to users without taking the whole site down. An admin/ops person should be able to set and clear a status message that appears in the platform UI.
Requirements
Suggested approach: ConfigMap + API endpoint
Simplest approach that leverages existing infrastructure:
GET /api/statusreturns the current status message (if any)/api/statusperiodically (every 60s + on tab focus) and shows a banner when activeAPI
Setting status
Platform UI
Existing building blocks
Trade-offs