blumeops/argocd/manifests/kiwix
Erich Blume 737371ab59 Add pod state observability to minikube dashboard (#83)
## Summary
- Add "Unhealthy Pods" stat panel showing count of pods in error states (ImagePullBackOff, CrashLoopBackOff, etc.) with red background when > 0
- Add "Pods by Waiting Reason" time series chart showing container waiting states over time
- Provides visibility into stuck pods that ArgoCD doesn't track (since it manages CronJobs, not the Jobs/Pods they spawn)

## Context
This addresses the issue where a `zim-watcher` cronjob pod was stuck in `ImagePullBackOff` for 11 days without any alerting. ArgoCD showed the CronJob as "Synced, Healthy" because it only manages the CronJob resource, not its spawned Jobs/Pods.

## Deployment and Testing
- [ ] Sync grafana-config app to test branch
- [ ] Verify dashboard renders correctly
- [ ] Confirm "Unhealthy Pods" shows 0 (green) when no issues
- [ ] Reset to main after merge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/83
2026-02-03 07:20:05 -08:00
..
configmap-sync-script.yaml P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -08:00
configmap-zim-torrents.yaml P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -08:00
cronjob-zim-watcher.yaml Add pod state observability to minikube dashboard (#83) 2026-02-03 07:20:05 -08:00
deployment.yaml Build local containers for k8s services (#61) 2026-01-25 21:35:57 -08:00
ingress-tailscale.yaml Replace hajimari with gethomepage (#75) 2026-01-30 13:21:12 -08:00
kustomization.yaml P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -08:00
service.yaml P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -08:00