refactor: make registry postgres-first

This commit is contained in:
a.tolmachev
2026-03-25 17:19:54 +03:00
parent b32b702d67
commit d37d40a975
12 changed files with 622 additions and 265 deletions
+1 -1
View File
@@ -434,7 +434,7 @@ mcpaas/
- `tokio` как async runtime
- `axum` для HTTP API
- `serde` и `serde_json`
- `sqlx` для PostgreSQL или SQLite
- `sqlx` для PostgreSQL
- `reqwest` для REST и GraphQL транспорта
- `tonic` и `prost` для работы с gRPC
- `tower` для middleware
+6 -6
View File
@@ -4,7 +4,7 @@
Этот документ фиксирует структуру хранения конфигураций, версий операций, загруженных артефактов и published runtime-view. Его цель - дать основу для SQL-миграций и для реализации `mcpaas-registry`.
В документе предполагается реляционная модель, ориентированная на `PostgreSQL`. Для MVP допускается адаптация под `SQLite`, но канонической считается схема, совместимая с `PostgreSQL`.
В документе предполагается реляционная модель, ориентированная на `PostgreSQL`. Канонической считается схема, совместимая с `PostgreSQL`.
## 2. Общие принципы хранения
@@ -30,13 +30,13 @@
Для MVP рекомендуется отдельная таблица `auth_profiles`, где metadata и secret refs отделены от operation versions.
### 2.5. SQLite-адаптация допустима
### 2.5. Тестовая изоляция
Канонической схемой остается PostgreSQL-совместимая модель, но MVP-реализация registry может использовать SQLite. В таком случае:
Integration tests для registry должны выполняться на реальной `PostgreSQL`, но без влияния на runtime-данные. Предпочтительный способ:
- `jsonb` хранится как `text` с JSON-сериализацией;
- `timestamptz` хранится как `text`;
- внешние ключи и version snapshot semantics сохраняются без изменения.
- отдельная test database;
- либо отдельная временная schema на время теста;
- обязательная очистка после завершения тестов.
## 3. Основные таблицы
+1 -1
View File
@@ -27,7 +27,7 @@ flowchart LR
REST[adapter-rest]
GQL[adapter-graphql]
GRPC[adapter-grpc]
DB[(PostgreSQL/SQLite)]
DB[(PostgreSQL)]
STORE[(Artifact Storage)]
UI --> ADMIN
-1
View File
@@ -311,7 +311,6 @@ mcpaas-registry/
get_runtime_view.rs
storage/
mod.rs
sqlite.rs
postgres.rs
cache/
mod.rs
+2 -2
View File
@@ -9,7 +9,7 @@
## 2. Базовые решения для MVP
- каноническая БД: `PostgreSQL`
- допустимый упрощенный режим разработки: `SQLite`
- локальная разработка и тесты используют ту же `PostgreSQL`-модель хранения
- artifact storage: локальная файловая система
- MCP transport: `Streamable HTTP`
- admin API и mcp-server запускаются как отдельные приложения
@@ -100,7 +100,7 @@ var/mcpaas/
Local development:
- `SQLite` допустим;
- локальное окружение должно иметь доступ к `PostgreSQL`;
- локальный storage;
- упрощенная auth-модель admin-api.