Merge branch 'feat/publish-host-config'
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Нужны как минимум:
|
||||
|
||||
Reference in New Issue
Block a user