From bcfb24b16d2ea7bcff52d1eb859320380f6eca6d Mon Sep 17 00:00:00 2001 From: Bot Date: Wed, 2 Sep 2026 16:51:31 -0700 Subject: [PATCH] ai.yaml: cut mcpo over to the confirmed-working flowagent-mcpo image + wire flowagent Docker secrets (never touches mcpo-critical) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Image pinned to git.bryanmail.net/homelab/flowagent-mcpo:916164714429 — the exact sha-tagged image built and smoke-tested clean in mcp-config pipeline #22 (build-and-push-flowagent + smoke-test-flowagent-image both success). NOT :latest, for reproducible deploys. Adds a secrets: block to the mcpo service only, referencing the 3 flowagent_azure_* Docker Swarm secrets (Pattern C, _FILE convention, consumed by flowagent/entrypoint.sh via /run/secrets/flowagent_azure_*). Declares those 3 secrets as external at top level, mirroring the existing vaultwarden_admin_token_v2 pattern in vaultwarden.yaml. Companion secret-provisioning change lands in the same PR as a separate commit in .woodpecker/deploy.yml's provision-secrets step (case "ai)"). mcpo-critical (lines defining Proxmox access) is completely untouched — still stock ghcr.io/open-webui/mcpo:main, no secrets: block, unchanged. Per FlowAgent MCP progress note: Azure AD App Registration is reported created with real secrets already in Woodpecker (both mcp-config and compose-files repos) as of this PR. This is a reviewed PR against a feature branch, NOT auto-merged to main — deploy only happens after manual review/merge, per user's explicit request for a manual-revert safety net on this high-blast-radius shared stack (LiteLLM, Open WebUI, n8n also live here). --- ai/ai.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ai/ai.yaml b/ai/ai.yaml index ed9fa52..705266c 100644 --- a/ai/ai.yaml +++ b/ai/ai.yaml @@ -127,7 +127,7 @@ services: labels: - traefik.enable=false mcpo: - image: ghcr.io/open-webui/mcpo:main + image: git.bryanmail.net/homelab/flowagent-mcpo:916164714429 command: - --config - /app/config/config.json @@ -141,6 +141,13 @@ services: - /volume1/docker/mcpo/data:/mcpo_data - /volume1/docker/cronicle/ssh_keys:/app/ssh_keys:ro - /volume1/docker/mcpo/uv-cache:/app/uv-cache + secrets: + - source: flowagent_azure_client_id + target: flowagent_azure_client_id + - source: flowagent_azure_tenant_id + target: flowagent_azure_tenant_id + - source: flowagent_azure_client_secret + target: flowagent_azure_client_secret networks: - traefik_backend deploy: @@ -173,6 +180,13 @@ services: - traefik.http.middlewares.n8n.headers.STSPreload=true - traefik.http.routers.n8n.middlewares=forwardAuth-authentik@file, crowdsec@file - traefik.swarm.network=traefik_backend +secrets: + flowagent_azure_client_id: + external: true + flowagent_azure_tenant_id: + external: true + flowagent_azure_client_secret: + external: true networks: traefik_backend: external: true