Summary
strut_drift_images returns total: 0, drifted: 0, images: [] for stacks on harbor that have many running containers with real images. Image introspection appears to not work for harbor-hosted stacks.
Steps to Reproduce
- Call
strut_drift_images with stack: "agent-platform" (8+ containers on harbor)
- Observe: returns
{"total": 0, "drifted": 0, "unknown": 0, "images": []}
- Call
strut_drift_images with stack: "immich" (4 containers on harbor)
- Observe: same empty result
Comparison
strut_drift_images on octoprint-ender3 (watch) correctly returns 1 image (status: unknown). So the tool works on watch but not on harbor.
Expected Behavior
Should enumerate all images used by the stack's running containers and check if newer digests are available upstream.
For agent-platform, should report images for: supervisor, webapp, electric, postgres, redis, clickhouse, minio, docker-proxy (at least 8 images).
Possible Causes
Environment
- strut version: 0.45.4, MCP server via
strut mcp serve
- harbor: Lenovo M70q, 16GB, Docker v29.4.1
- watch: Pi 4B, 4GB, Docker Compose v5.1.3
Summary
strut_drift_imagesreturnstotal: 0, drifted: 0, images: []for stacks on harbor that have many running containers with real images. Image introspection appears to not work for harbor-hosted stacks.Steps to Reproduce
strut_drift_imageswithstack: "agent-platform"(8+ containers on harbor){"total": 0, "drifted": 0, "unknown": 0, "images": []}strut_drift_imageswithstack: "immich"(4 containers on harbor)Comparison
strut_drift_imagesonoctoprint-ender3(watch) correctly returns 1 image (status: unknown). So the tool works on watch but not on harbor.Expected Behavior
Should enumerate all images used by the stack's running containers and check if newer digests are available upstream.
For
agent-platform, should report images for: supervisor, webapp, electric, postgres, redis, clickhouse, minio, docker-proxy (at least 8 images).Possible Causes
Environment
strut mcp serve