Compose-Update-Erkennung per Image-Digest statt pull --dry-run-Textscrape #42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Die Compose-Update-Prüfung ist unzuverlässig.
Node-Agent/src/docker_compose.rs:13:Es wird
pull --dry-runausgeführt und der rohe Text zurückgegeben. Bei:latestzeigt das stets „Pulling/Pulled"-Aktivität, ohne verlässlich zu unterscheiden „Image wirklich neu" vs. „schon aktuell". Effektiv wird Text gegen einen beweglichen Tag gescrapet → keine belastbare „Update verfügbar"-Aussage. Beispiel-Output:Besser: Digest-Vergleich (wie Watchtower/diun)
Pro Image Remote- vs. Lokal-Digest vergleichen — definitives
true/false, funktioniert für:latestund gepinnte Tags, ohne Layer zu ziehen:cd {p} && docker compose config --images(eine Zeile je Image).docker manifest inspect <image>→ Manifest-(Listen-)Digest. (Kein Layer-Pull.)docker image inspect <image> --format '{{index .RepoDigests 0}}'→ aktuell laufender Digest.remote != local⇒ Update verfügbar.Umsetzung
compose_check(docker_compose.rs:8) auf obigen Ablauf umstellen; pro Image die zweidocker-Calls, Digests vergleichen, JSON bauen.docker manifest inspectfehlschlägt (alte Docker-CLI / Registry-Auth fehlt), auf das bisherigepull --dry-runzurückfallen undupdate_available: null(unbekannt) melden — nicht hart fehlschlagen.DockerTab: die strukturierte Antwort anzeigen („Update verfügbar: ja/nein" je Service) statt Rohtext.Caveats (im Code berücksichtigen)
manifest inspectbraucht ggf. Login (Docker-Config-Auth nutzen); bei 401 → Fallback/unknown.RepoDigestsenthält den Listen-Digest → Liste gegen Liste vergleichen ist korrekt.version-obsolete-Warnung aus dem Output filtern (Noise).Bezug
Eigenständig zu #31 (Pfad-Discovery), aber gleiche Feature-Familie: #31 liefert den Pfad, dieses Issue verbessert die Update-Erkennung auf diesem Pfad.
Branch
feat/compose-update-digest-check