Статус: Draft
Дата: 2026-04-29
Область: сервисная архитектура core-сервисов проекта platform-core.
1. Цель раздела
Этот раздел переводит концепцию control plane в реализационную карту сервисов. Документы должны быть достаточно конкретными, чтобы другой инженер или AI-агент мог начать проектирование репозиториев, API, схем БД, событий и модулей без повторного принятия архитектурных решений.
Документируются только 3 core-сервиса:
AI, IAM, Audit, Billing и будущие домены описываются только как integration points. Они не входят в этот сервисный раздел.
2. Жестко зафиксированные решения
1 2 3 4 5 6 7 8 | |
Каждый микросервис владеет своей БД. Модули внутри сервиса могут иметь отдельные pods/processes, но используют общую БД и общую доменную модель сервиса.
3. Карта сервисов
final resource updates| RC CP -->|JobSpec / cancel / result channel| EP CP --> TEMP EP --> VAULT EP --> S3 RC --> KAFKA CP --> KAFKA EP --> KAFKA
4. Source-of-truth matrix
| Данные | Владелец |
|---|---|
| Resource metadata | resource-catalog-service |
| Resource type taxonomy | resource-catalog-service |
| Topology | resource-catalog-service |
| Resource relationships | resource-catalog-service |
| Desired/observed state | resource-catalog-service |
| Health summary | resource-catalog-service |
| Capability definitions | resource-catalog-service |
| Provided capabilities | resource-catalog-service |
| Scenario packs/templates | control-plane-service |
| Capability requirements | control-plane-service |
| Resource bindings | control-plane-service |
| Plans and plan nodes | control-plane-service |
| Operations and node runs | control-plane-service |
| Gates/interventions/PlanPatches | control-plane-service |
| Artifact/evidence metadata | control-plane-service |
| Execution attempts and runner leases | execution-plane-service |
| Raw execution output refs | execution-plane-service |
| Secret values and credentials | Vault |
| Artifact/log bundle blobs | S3/MinIO |
5. Communication rules
- UI читает ресурсы из
resource-catalog-serviceи операции изcontrol-plane-service. control-plane-serviceдержит локальные projections ресурсов/capabilities, чтобы не дергать catalog на каждый plan preview.- Синхронный вызов
control-plane-service -> resource-catalog-serviceразрешен на command boundary: start operation, destructive action, final resource update. execution-plane-serviceне вызываетresource-catalog-serviceнапрямую для business decisions.- Kafka используется для facts/projections/audit, но не как workflow engine.
- Temporal используется только за adapter внутри
control-plane-service; UI и domain model не зависят от Temporal history/UI.
6. Общие conceptual contracts
Контракты ниже не являются protobuf/OpenAPI. Это стабильная conceptual shape для будущей реализации.
6.1 JobSpec
Что control-plane-service передает в execution-plane-service.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
6.2 ExecutionResult
Что execution-plane-service возвращает в control-plane-service.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
6.3 ArtifactRef
1 2 3 4 5 6 7 8 9 | |
6.4 EvidenceRef
1 2 3 4 5 6 7 | |
6.5 ResourceUpdateCommand
Финальный command из control-plane-service в resource-catalog-service.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
6.6 CatalogProjectionEvent
События resource-catalog-service, из которых control-plane-service строит локальные projections.
1 2 3 4 5 6 7 8 9 | |