7.3 KiB
7.3 KiB
| 1 | pattern | meaning | diagnose_commands | jeannie_fix_commands | other_fix_commands | risk | auto_fix | notes |
|---|---|---|---|---|---|---|---|---|
| 2 | unsupported template variable | Generated docs found a template placeholder that render-docs does not support. | ./jeannie validate | none | Edit README.md.tmpl or scripts/render-docs | low | no | Usually a docs/template mismatch rather than an infrastructure issue. |
| 3 | generated README.md is stale | README.md does not match README.md.tmpl rendering. | ./jeannie validate | none | scripts/render-docs | low | candidate | A future docs-render Jeannie command could safely wrap this. |
| 4 | missing_resource_policy | Workloads are missing resource requests or limits, so capacity planning is unreliable. | ./jeannie resource-budget;./jeannie capacity | none | Edit app manifests or Helm values | medium | no | Add requests first, then limits for workloads you own. |
| 5 | missing requests | One or more containers do not declare CPU or memory requests. | ./jeannie resource-budget --details;./jeannie capacity | none | Edit app manifests or Helm values | medium | no | Start with application namespaces before system namespaces. |
| 6 | missing limits | One or more containers do not declare CPU or memory limits. | ./jeannie resource-budget --details;./jeannie capacity | none | Edit app manifests or Helm values | medium | no | Limits are useful but can cause throttling; set them deliberately. |
| 7 | resource policy | Capacity or resource policy needs attention. | ./jeannie resource-budget;./jeannie capacity | none | Edit infra/resource-budgets.yml or app manifests | medium | no | Do not hide pressure by only changing the budget file. |
| 8 | diskpressure | A Kubernetes node reports disk pressure. | ./jeannie capacity;./jeannie doctor-cluster | none | Clean images/logs or expand storage | high | no | DiskPressure can evict pods and should be handled quickly. |
| 9 | memorypressure | A Kubernetes node reports memory pressure. | ./jeannie capacity;./jeannie doctor-cluster | none | Reduce workloads or add worker capacity | high | no | Check whether Debian is carrying app pods. |
| 10 | notready | A Kubernetes node is not Ready. | ./jeannie doctor-cluster;./jeannie workers list | ./jeannie start-cluster | none | high | no | Only start/recreate workers after checking node state. |
| 11 | problem pods | Pods are Pending, CrashLooping, failing image pulls, or otherwise unhealthy. | ./jeannie status;./jeannie doctor-cluster | none | kubectl describe/logs for the affected pod | medium | no | Use namespace and pod name from the original output. |
| 12 | crashloopbackoff | A pod is repeatedly crashing. | ./jeannie doctor-cluster | none | kubectl logs/describe for the pod | medium | no | Look for config, secret, dependency, or command errors. |
| 13 | imagepullbackoff | A pod cannot pull its image. | ./jeannie doctor-cluster | none | Check registry, image tag, platform, and pull secrets | medium | no | This often means a tag/platform mismatch or registry reachability issue. |
| 14 | errimagepull | A pod cannot pull its image. | ./jeannie doctor-cluster | none | Check registry, image tag, platform, and pull secrets | medium | no | This often means a tag/platform mismatch or registry reachability issue. |
| 15 | kubernetes api unavailable | The Kubernetes API is not reachable. | ./jeannie doctor-cluster;./jeannie start-cluster | ./jeannie start-cluster | none | high | no | Starting the cluster is explicit; do not do it automatically. |
| 16 | connection refused | A service endpoint is refusing connections. | ./jeannie status;./jeannie doctor-cluster;./jeannie doctor-edge | none | Check the named service/container/pod | medium | no | Use the host and port in the original output. |
| 17 | timed out | A service or DNS query timed out. | ./jeannie status;./jeannie doctor-rpi;./jeannie doctor-edge | none | Check routing, firewall, DNS, or service health | medium | no | Timeouts often point to routing/firewall/service-down issues. |
| 18 | no servers could be reached | DNS queries are failing. | ./jeannie doctor-rpi;./jeannie status | ./jeannie rpi-services | none | medium | no | RPi service redeploys can restart DNS; run explicitly. |
| 19 | pihole | Pi-hole DNS or web health needs attention. | ./jeannie doctor-rpi;./jeannie status | ./jeannie rpi-services | none | medium | no | Check DNS before redeploying to avoid extending an outage. |
| 20 | unbound | Unbound recursive DNS health needs attention. | ./jeannie doctor-rpi | ./jeannie rpi-services | none | medium | no | Pi-hole should still have fallback DNS if configured. |
| 21 | uptime kuma | Uptime Kuma health or monitor coverage needs attention. | ./jeannie doctor-rpi;./jeannie route-inventory | ./jeannie rpi-services | none | low | no | Monitor seeding can be rerun, but verify credentials/config first. |
| 22 | gitea | Gitea local, SSH, or public route health needs attention. | ./jeannie doctor-gitea;./jeannie status | ./jeannie deploy-gitea;./jeannie bootstrap-gitea-repo | none | medium | no | Deploy/bootstrap can change repo service state. |
| 23 | http 404 | A route answered but the expected path was not found. | ./jeannie doctor-edge;./jeannie route-inventory | none | Check ingress, reverse proxy path, and app root URL | medium | no | 404 can mean path rewrite or app sub-path mismatch. |
| 24 | http 502 | The reverse proxy cannot reach the backend. | ./jeannie doctor-edge;./jeannie status | none | Check backend service, Traefik, edge proxy, and routes | high | no | 502 is usually backend unreachable or unhealthy. |
| 25 | certificate | TLS certificate, expiry, or public HTTPS validation needs attention. | ./jeannie cert-check;./jeannie doctor-edge | ./jeannie plan edge;./jeannie up | none | medium | no | Edge apply can affect public routing, so keep it explicit. |
| 26 | duckdns-to-oci | Public DNS does not point where the inventory expects. | ./jeannie cert-check;./jeannie doctor-edge | none | Update DuckDNS or edge inventory | medium | no | DNS drift can break public routes and cert issuance. |
| 27 | tailscale | Tailscale IP, route acceptance, or peer reachability needs attention. | ./jeannie status;./jeannie doctor-edge;./jeannie doctor-rpi | none | Check tailscale status/routes on the named host | medium | no | Tailscale ACL/route changes should be deliberate. |
| 28 | docker root | Docker root path is not where expected. | ./jeannie status;./jeannie preflight | ./jeannie fix-debian-docker-root | none | medium | no | Docker root migration is stateful; verify host before running. |
| 29 | pimox storage | Pimox storage is missing, wrong, or unhealthy. | ./jeannie preflight;./jeannie doctor-cluster | none | Check pvesm status and opi5_ssd mount | high | no | Storage mistakes can break or strand VM disks. |
| 30 | backup | Backup freshness or restore drill readiness needs attention. | ./jeannie backup-status;./jeannie recover-plan | ./jeannie backup-gitea;./jeannie state-backup;./jeannie drill-restore | none | medium | no | Backups are safer than restores, but keep drills explicit. |
| 31 | restore drill | Restore drill reports are missing or stale. | ./jeannie backup-status;./jeannie recover-plan | ./jeannie drill-restore;./jeannie drill-gitea-restore;./jeannie drill-pihole-restore | none | medium | no | Drills can be noisy and should be run intentionally. |
| 32 | argocd | Argo CD sync or health needs attention. | ./jeannie gitops-status;./jeannie status | ./jeannie apps | none | medium | no | App deployment can change workloads. |
| 33 | outofsync | An Argo CD app differs from Git. | ./jeannie gitops-status | ./jeannie apps | none | medium | no | Confirm desired branch before syncing. |
| 34 | degraded | An Argo CD app or workload is degraded. | ./jeannie gitops-status;./jeannie status | none | Check app events/logs | medium | no | Fix depends on the degraded app. |
| 35 | edge | Public edge routing or OCI edge service needs attention. | ./jeannie doctor-edge;./jeannie cert-check | ./jeannie plan edge;./jeannie up | none | high | no | Edge fixes can affect internet-facing access. |
| 36 | security | Security policy or defensive scan needs attention. | ./jeannie security-scan;./jeannie tailnet-policy-check | none | Review reported policy or finding | medium | no | Do not let AI auto-remediate security policy yet. |