arbo: mount repo pyproject.toml ro into the engine (catalog_version observability)

/healthz catalog_version read the BAKED package version (importlib.metadata),
so a catalog/frontend-only webhook deploy (no image rebuild) left it stale —
v0.12.4 data went live but /healthz still reported 0.12.3. comfy-dev's v0.12.5
reads comfy_catalog.__version__ from the repo-root pyproject.toml; mounting it
on the same checkout mount (catalog/graphs/frontend) makes /healthz report the
MOUNTED version after a catalog-restart. Falls back cleanly if absent.

Pushed to irv-ml1's host compose + validated via `docker compose config`
(bind -> /app/pyproject.toml:ro resolves). Recreate deferred to comfy-dev's
imminent v0.12.5 rebuild (the mount is inert for v0.12.5 itself, which bakes
its own version — it only matters for subsequent catalog-only deploys — so no
separate prod blip). Requested by comfy-dev (engine owner), althing thread
01KV95R88A3Y.
This commit is contained in:
vh
2026-06-16 14:42:04 -07:00
parent 3a7236d51f
commit 03358dccd1
+7
View File
@@ -68,6 +68,13 @@ services:
- ${ARBO_CATALOG_DIR:-/worktank/arbo/repo}/catalog:/app/catalog:ro
- ${ARBO_CATALOG_DIR:-/worktank/arbo/repo}/graphs:/app/graphs:ro
- ${ARBO_CATALOG_DIR:-/worktank/arbo/repo}/frontend:/app/frontend:ro
# pyproject.toml rides the same checkout mount so /healthz catalog_version
# reports the MOUNTED repo version (read from /app/pyproject.toml), not the
# baked importlib.metadata one — otherwise a catalog/frontend-only webhook
# deploy (no image rebuild) leaves the reported version stale (comfy-dev
# v0.12.5 observability fix, 2026-06-16). Activated on the next engine
# recreate; the code falls back cleanly if the file is absent.
- ${ARBO_CATALOG_DIR:-/worktank/arbo/repo}/pyproject.toml:/app/pyproject.toml:ro
# python-based (the slim image ships no curl/wget; python is always present):
healthcheck:
test: ["CMD-SHELL", "python -c \"import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8200/healthz').status==200 else 1)\""]