beclab/olares

olares-doctor

Runtime diagnosis for Olares apps and the system via olares-cli — find the root cause when an app won't install or start, crashes, cannot pull an image, is running but unreachable, or is slow; includes doctor images and thirdleveldomain.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/beclab/olares --skill olares-doctor

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

doctor (runtime diagnosis)

Shared front door: load `../olares-shared/SKILL.md` for suite routing, active-profile selection, platform entry points, and the auth proceed/stop gate. Load its auth reference only when login, profile switching, token storage, or auth recovery is actually needed.

This skill is a thin diagnostic router over Market, Cluster, and Dashboard. Load the shared application-state model when interpreting lifecycle states, TTLs, serialized downloads, or running. Use olares-cli doctor <verb> --help for syntax.

When to use

  • An install/upgrade is stuck or never reaches running; an app won't start.
  • An app crashes / restarts repeatedly (CrashLoopBackOff, exit codes, config errors).
  • An image won't pull (ImagePullBackOff / ErrImagePull / wrong arch), or you want to find unused local images.
  • An app is running but its entrance is unreachable / errors / times out.
  • The system or an app is slow, or a GPU/resource binding is rejected (node-pressure).

Both catalog apps (installed via `market`) and your own dev apps (deployed via `chart`) route runtime failures here. Once the root cause is found, the fix for a dev app you authored is usually a chart edit — hand back to `../olares-chart/SKILL.md`.

Mental model: doctor answers "why is this broken and what do I do next?" Diagnosis is read-only by default; the only mutation is the explicitly approved thirdleveldomain --force-dedupe repair. The four-skill develop->deploy->debug combo is chart + market + olares-shared + doctor.

Symptom routing

SymptomReference
Install/upgrade stuck; never reaches running; sits in pending / downloading / installing / initializing; a fresh install ended in stoppedreferences/olares-doctor-app-stuck.md
App crashes / restarts (CrashLoopBackOff, non-zero exit, CreateContainerConfigError, permission errors)references/olares-doctor-app-crash.md
Image won't pull (ImagePullBackOff / ErrImagePull / InvalidImageName / arch mismatch); finding unused local imagesreferences/olares-doctor-image.md
App is running but the entrance is unreachable / 5xx / times out / blankreferences/olares-doctor-running-unhealthy.md
System or app slow; resource pressure; GPU/compute binding rejected (node-pressure)references/olares-doctor-resources.md

A model that is configured but does not answer is diagnosed one layer up first: `olares-router` separates the gateway, its access control and the model application's own download/engine state from the pod-level failures here, and routes back when the cause is below the application.

First, rule out the normal queue. Before declaring an install stuck, check whether another app is downloading — app-service runs one download at a time, so a pending row is often just queuing (see the appstate reference and the app-stuck reference).

Verb index

CommandPurposeRead when triggered
imagesFull local image inventory annotated with workload references; unused candidatesimage diagnosis
thirdleveldomainAudit duplicate/reserved third-level domains; optional repairdomain audit and repair

How doctor gathers evidence (orchestration, not ownership)

Correlate evidence by time and object ownership. A Market timeout is not failure; running proves only entrance TCP reachability; a fresh install can settle at stopped after scheduling failure without a *Failed lifecycle state.

Safety and escalation

  • Diagnosis is read-only by default. Do not restart, delete, scale, cancel, prune, or edit a chart as an automatic diagnostic step.
  • thirdleveldomain --force-dedupe mutates Application resources. Show the proposed changes and obtain explicit approval first.
  • An unused-image report is evidence, not authorization to remove images.
  • System namespace evidence commonly requires admin visibility. On 403/404, use the app's own evidence and report the missing visibility; do not switch identities without approval.
  • Stop when the app/user/namespace is ambiguous, required logs need a higher role, or the fix crosses into chart editing, lifecycle mutation, or host administration.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills
beclab
Społeczność

olares-chart

Olares app packaging and chart authoring via olares-cli chart — port a repo, docker-compose, or generic Helm chart; build/push the image; author, lint, package, and deploy an OlaresManifest; wire storage, middleware, entrances, env, and GPU; edit the chart after diagnosis. Runtime failure diagnosis is olares-doctor; public Market submission is olares-publish.

instalacje
2
GitHub Stars
5,3 tys.
Aktualizacja
20 paź
beclab
Społeczność

olares-cluster

Olares ControlHub K8s runtime view via olares-cli cluster — inspect pods, containers, workloads, logs, jobs, cronjobs, namespaces, nodes, and middleware; exec, scale, restart, or delete K8s objects. Use for raw runtime objects and logs, not app lifecycle (market), resource metrics (dashboard), or host install.

instalacje
2
GitHub Stars
5,3 tys.
Aktualizacja
20 paź
beclab
Społeczność

olares-dashboard

Olares Dashboard via olares-cli dashboard — CPU, memory, disk, network, pod counts, fan, GPU, application/resource rankings, JSON envelopes, and --watch. Use for Dashboard metrics, overview, resource usage, and Olares One fan; not for pod logs or K8s object inspection (olares-cluster).

instalacje
2
GitHub Stars
5,3 tys.
Aktualizacja
20 paź
beclab
Społeczność

olares-files

Olares Files via olares-cli files — browse known paths; upload or download file bytes; edit, share, mount SMB/NFS, compress/extract archives, and manage Seafile sync across Drive/cache/external/cloud. Use for Olares Files and LarePass Files operations, not URL/yt-dlp/torrent download tasks (olares-knowledge).

instalacje
2
GitHub Stars
5,3 tys.
Aktualizacja
20 paź