diff --git a/services/automation/plugin.yaml b/services/automation/plugin.yaml index 2981c7a..3459b31 100644 --- a/services/automation/plugin.yaml +++ b/services/automation/plugin.yaml @@ -14,7 +14,7 @@ env: services: - name: n8n # Pinned to the exact version V1 runs (V1 uses ${N8N_IMAGE:-...2.28.3}). Pin, don't float. - image: docker.n8n.io/n8nio/n8n:2.33.5 + image: docker.n8n.io/n8nio/n8n:2.38.4 env: N8N_HOST: 0.0.0.0 N8N_PORT: "5678" diff --git a/services/edge/plugin.yaml b/services/edge/plugin.yaml index 53aecec..19d1010 100644 --- a/services/edge/plugin.yaml +++ b/services/edge/plugin.yaml @@ -23,7 +23,7 @@ secrets: services: - name: oauth2-proxy # alpine variant ships wget for the healthcheck (the distroless :latest has no shell). - image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.3-alpine + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.4-alpine wants_secrets: true # OAUTH2_PROXY_* resolve from secrets.env command: - --provider=google diff --git a/services/open-webui/plugin.yaml b/services/open-webui/plugin.yaml index 727706f..989dd29 100644 --- a/services/open-webui/plugin.yaml +++ b/services/open-webui/plugin.yaml @@ -17,7 +17,7 @@ secrets: services: - name: open-webui # Pinned to the exact version V1 runs (V1 uses ${OPEN_WEBUI_IMAGE:-...v0.10.1}). Pin, don't float. - image: ghcr.io/open-webui/open-webui:v0.11.0 + image: ghcr.io/open-webui/open-webui:v0.11.3 wants_secrets: true # LITELLM_MASTER_KEY resolves from secrets.env env: ENABLE_OLLAMA_API: "false" diff --git a/services/rag/plugin.yaml b/services/rag/plugin.yaml index e229229..4414f6a 100644 --- a/services/rag/plugin.yaml +++ b/services/rag/plugin.yaml @@ -16,7 +16,7 @@ services: - name: qdrant # Vector DB — pinned to the exact version V1 runs. No host port in V2 (reached at qdrant:6333 # on the project network; V1's 127.0.0.1 publish was host-debug only). - image: qdrant/qdrant:v1.19.0 + image: qdrant/qdrant:v1.19.1 volumes: # NAMED VOLUME, not a ${DATA_PATH} 9p bind: qdrant mmaps its segments, and on # Docker Desktop every 9p metadata op (stat during path walk) can wedge in diff --git a/tests/substrate/test_parity_render.py b/tests/substrate/test_parity_render.py index 9a4cca3..7b7dbc1 100644 --- a/tests/substrate/test_parity_render.py +++ b/tests/substrate/test_parity_render.py @@ -67,9 +67,9 @@ def test_parity_matrix_counts(): def test_ported_services_carry_pins_and_healthchecks(): # spot-check the exact V1 pins/healthchecks survived the port (no silent :latest drift) c = _dual().compose_dict() - assert c["services"]["qdrant"]["image"] == "qdrant/qdrant:v1.19.0" - assert c["services"]["n8n"]["image"] == "docker.n8n.io/n8nio/n8n:2.33.5" - assert c["services"]["open-webui"]["image"] == "ghcr.io/open-webui/open-webui:v0.11.0" + assert c["services"]["qdrant"]["image"] == "qdrant/qdrant:v1.19.1" + assert c["services"]["n8n"]["image"] == "docker.n8n.io/n8nio/n8n:2.38.4" + assert c["services"]["open-webui"]["image"] == "ghcr.io/open-webui/open-webui:v0.11.3" assert "@sha256:" in c["services"]["searxng"]["image"] # searxng pinned by digest for svc in ("qdrant", "n8n", "open-webui", "rag-ingestion"): assert "healthcheck" in c["services"][svc]