diff --git a/AI_CAPABILITIES.md b/AI_CAPABILITIES.md index 7bfb959..66a86f8 100644 --- a/AI_CAPABILITIES.md +++ b/AI_CAPABILITIES.md @@ -587,7 +587,7 @@ The MCP descriptor at `GET /api/mcp` reports a semver `version`. Tool names are append-only within a major version — agents can cache the tool list safely for the duration of a conversation but should re-fetch on 404. -Current version: **2.4.7**. +Current version: **2.4.8**. - **1.x** — session-cookie-only MCP, no tenant keys. - **2.0** — `vibn_sk_…` keys, workspace-scoped Gitea bot + Coolify project. @@ -684,6 +684,34 @@ Current version: **2.4.7**. the work was in fact succeeding. Now the SSH command returns within ~50ms, the HTTP response is delivered, and Traefik re-discovers labels ~3s later. +- **2.4.8** — Massive simplification of post-deploy logic. Coolify's + template engine is fully capable of generating correct Traefik + labels and `SERVICE_FQDN_` / `SERVICE_URL_` env vars **if + the URL passed to `setServiceDomains` includes the upstream port** + (the "Required Port" hint in Coolify's UI: `https://crm.example.com:3000`, + not `https://crm.example.com`). 2.4.5–2.4.7 were missing that + detail, which is why they had to re-write the `.env` and inject + the loadbalancer port label as a workaround. + + In 2.4.8 `apps.create` reads `template.port` from the catalog and + passes `https://:` to `setServiceDomains`. Coolify then: + - generates `traefik.http.services..loadbalancer.server.port=` + automatically; + - rewrites `.env` so `SERVICE_FQDN_=` and + `SERVICE_URL_=https://` (no sslip.io leak); + - keeps `SERVICE_FQDN__` magic placeholders correctly + pointed at the user's host:port. + + All that's left is the one thing Coolify still skips: connecting + `coolify-proxy` to the resource's project Docker network. So + `applyCoolifyPostDeployFixes` is now ~30 lines (down from ~200) and + no longer SSH-runs an embedded Python script inside a + `python:3-alpine` container. The `CoolifyPostDeployResult.steps` + shape gains/keeps `proxyNetwork` + `proxyRestart` only; the old + `envRewrite` / `portLabel` / `recreate` step keys are removed. + `apps.repair` retains its API (`{ uuid, fqdn, publicAppName, port? }`) + but `port` is now informational only (not required for the helper + to function). --- diff --git a/vibn-frontend b/vibn-frontend index 167920d..89eaff1 160000 --- a/vibn-frontend +++ b/vibn-frontend @@ -1 +1 @@ -Subproject commit 167920dcc837a05ede7d7e4a5da802fb8abfb99b +Subproject commit 89eaff113c1b5af245cdc89710ac78564f397c38