Merge branch 'feat/publish-host-config'

This commit is contained in:
a.tolmachev
2026-03-25 22:22:42 +03:00
4 changed files with 18 additions and 10 deletions
+1
View File
@@ -3,6 +3,7 @@ POSTGRES_USER=rmcp
POSTGRES_PASSWORD=change-me
MCPAAS_DATABASE_URL=postgres://rmcp:change-me@postgres:5432/rmcp
MCPAAS_STORAGE_ROOT=/var/lib/rmcp/storage
MCPAAS_PUBLISH_HOST=127.0.0.1
MCPAAS_ADMIN_BIND=0.0.0.0:3001
MCPAAS_MCP_BIND=0.0.0.0:3002
MCPAAS_MCP_REFRESH_MS=5000
+6 -6
View File
@@ -2,17 +2,17 @@
## Current
### `feat/ui-polish`
### `feat/publish-host-config`
Status: completed
DoD:
- UI больше не выглядит `REST-only`, если backend уже поддерживает `REST`, `GraphQL` и `gRPC`
- create flow позволяет собрать operation для всех поддерживаемых протоколов
- detail screen показывает protocol-specific metadata и не сводится к одному длинному сырому столбцу
- для `gRPC` доступен descriptor upload и просмотр unary services/methods
- UI build и UI tests проходят в CI-эквивалентном режиме
- публикация портов в `docker-compose` не завязана жестко на `127.0.0.1`
- отдельный reverse proxy на другом хосте может достучаться до `ui`, `admin-api` и `mcp-server`
- локальный сценарий с loopback тоже остается доступным через env-конфиг
- deployment docs и `.env.example` синхронизированы с новой моделью
- после фикса внешний reverse proxy перестает получать `502` из-за недоступного upstream
## Next
+3 -3
View File
@@ -33,7 +33,7 @@ services:
volumes:
- artifact_storage:${MCPAAS_STORAGE_ROOT:-/var/lib/rmcp/storage}
ports:
- "127.0.0.1:3001:3001"
- "${MCPAAS_PUBLISH_HOST:-127.0.0.1}:3001:3001"
healthcheck:
test: ["CMD", "curl", "--fail", "http://127.0.0.1:3001/health"]
interval: 15s
@@ -57,7 +57,7 @@ services:
volumes:
- artifact_storage:${MCPAAS_STORAGE_ROOT:-/var/lib/rmcp/storage}
ports:
- "127.0.0.1:3002:3002"
- "${MCPAAS_PUBLISH_HOST:-127.0.0.1}:3002:3002"
healthcheck:
test: ["CMD", "curl", "--fail", "http://127.0.0.1:3002/health"]
interval: 15s
@@ -70,7 +70,7 @@ services:
dockerfile: apps/ui/Dockerfile
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
- "${MCPAAS_PUBLISH_HOST:-127.0.0.1}:3000:3000"
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/"]
interval: 15s
+8 -1
View File
@@ -163,10 +163,17 @@ services:
- поднимать `postgres`, `admin-api`, `mcp-server`, `ui`;
- использовать env vars вместо hardcoded config;
- иметь persistent storage для БД и artifacts;
- публиковать `ui`, `admin-api` и `mcp-server` только на loopback, если перед ними уже стоит reverse proxy;
- поддерживать настраиваемый bind host для published ports;
- публиковать `ui`, `admin-api` и `mcp-server` на loopback, если reverse proxy живет на том же хосте;
- публиковать `ui`, `admin-api` и `mcp-server` на LAN bind address или `0.0.0.0`, если reverse proxy вынесен на отдельный хост;
- не публиковать внутренние сервисы наружу без необходимости;
- содержать healthchecks.
Практически это должно быть управляемо через env вроде `MCPAAS_PUBLISH_HOST`:
- `127.0.0.1` для local reverse proxy на том же Linux host;
- конкретный внутренний IP или `0.0.0.0` для отдельного центрального reverse proxy в LAN.
## 10. Healthchecks
Нужны как минимум: