my-homelab-configs/infra/jeannie-explain/findings.tsv

38 lines
7.8 KiB
Plaintext

pattern meaning diagnose_commands jeannie_fix_commands other_fix_commands risk auto_fix notes
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.
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.
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.
pods missing requests/limits Some Kubernetes pods are missing resource requests or limits, so the scheduler and capacity reports cannot fully trust workload sizing. ./jeannie resource-budget --details;./jeannie capacity none Add requests/limits in the app manifests, Helm values, or platform chart values medium no Yes, this is fixed from code/config by adding resources to workloads you own; avoid auto-generating limits blindly.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
argocd Argo CD sync or health needs attention. ./jeannie gitops-status;./jeannie status ./jeannie apps none medium no App deployment can change workloads.
outofsync An Argo CD app differs from Git. ./jeannie gitops-status ./jeannie apps none medium no Confirm desired branch before syncing.
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.
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.
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.