v1.3.0 — Operational Memory
What's New
Operational Memory (SQLite)
OpsCart now remembers what happened. A lightweight local database tracks cluster
snapshots, incident history, and scan metadata across scans.
- Trend arrows on all KPI cards — up/down/flat with correct semantics
(green when improving, red when degrading) - 7-point sparkline on Incident Score showing recent history
- Incident tracking — first seen, last seen, active/resolved status per fingerprint
- NullStore fallback — persistence is never required; degrades gracefully if DB unavailable
Investigation Page v2
- OpsCart Assessment — rules-based operational summary paragraph
- Evidence section — restarts, state, age, owner chips before recommendations
- Confidence-rated hints — High / Medium / Low with color coding
- Each hint includes a specific kubectl command
War Room Visual Differentiation
- Per-type card accent colors (red for CrashLoop, yellow for ImagePullBackOff, purple for Privileged, blue for NetworkPolicy)
- SVG icons per issue type
Install
# Helm
helm install opscart-watcher ./helm/opscart-watcher \
--namespace opscart-system \
--create-namespace
# kubectl
kubectl apply -f https://raw.githubusercontent.com/opscart/opscart-k8s-watcher/main/deploy/dashboard.yamlSecurity
- Trivy scan: 0 vulnerabilities
- Scratch image, non-root UID 65534
- Pure Go SQLite (modernc.org/sqlite, CGO_ENABLED=0 compatible)
What's Next
- PVC-backed persistence (
persistence.enabled=truein Helm) - Blast radius analysis
- Change detection ("new since yesterday")