Состав компонентов платформы
Описание структуры компонентов и их зависимостей.
Общие сведения
Платформа ИИ разворачивается в кластере Kubernetes через проект Garden
deploy (имя aip-deploy). Проект объединяет в один граф действий
исходники Платформы ИИ (agent-platform), Low-code Конструктора
(langflow), а также внешние read-only сервисы (rag, memory) и носитель
lfx. deploy владеет окружениями (dev-local, qa), провайдерами,
общим поставщиком идентичности, шлюзовой инфраструктурой и манифестами.
Топология пространств имён (CORE-1894) разделяет роли: управляющая подсистема,
Agent Registry и документация живут в aip-<env>, модели — в aip-<env>-models,
опубликованные агенты — в aip-<env>-agents, поставщик идентичности и общие
провайдеры — в aip-<env>-infra, Low-code Конструктор — в
aip-<env>-low-code-ide, внешние read-only RAG/Memory — в aip-<env>-services.
Принципы развертывания
- Единый граф композиции.
deploy— единственная точка оркестрации. В графе зафиксированы точные SHA коммитов продуктов. Коммит композиции является воспроизводимой совместимой связкой версий (deployment BOM). - Независимость компонентов. Платформа ИИ и Low-code Конструктор разворачиваются независимо. Общие зависимости (Keycloak) при совместном развёртывании выполняются один раз.
- Декларативный состав. Каждый компонент Платформы ИИ управляется собственным флагом включения; Helm-шаблоны чарта отрисовывают ресурсы только для включённых компонентов.
- Публичное присутствие. Маршрутизацией, DNS, сертификатами и TLS
владеет DevOps.
deployне создаёт эти ресурсы — он формирует только HTTPRoute в своём пространстве имён и привязывает их к уже существующим ListenerSet.
Helm-релизы
| Релиз Helm | Чарт | Источник | Пространство имён |
|---|---|---|---|
aip-keycloak | keycloakx (Codecentric, OCI) | deploy | aip-<env>-infra |
aip | charts/agent-platform | agent-platform (Git SHA) | aip-<env> |
aip (fixtures) | charts/agent-platform | agent-platform (Git SHA) | aip-<env>-infra |
aip-low-code-ide | charts/langflow-sso | langflow (Git SHA) | aip-<env>-low-code-ide |
aip-postgresql, aip-spicedb, aip-temporal, aip-valkey, aip-redpanda, aip-opensearch, aip-opentelemetry | charts/aip-* | deploy | aip-<env>-infra |
Образы сервисов подтягиваются из корпоративного реестра
nexus.inno.tech:19108 по секрету aip-image-pull-secret.
Политика подтягивания образов — Always (QA) / IfNotPresent (dev-local).
1. Поставщик идентичности
1.1 Keycloak
Управляемый поставщик OIDC/SSO, обслуживает realm, общий для обоих
продуктов. Выставлен на префиксе /keycloak.
| Параметр | Значение |
|---|---|
| Чарт | keycloakx v7.2.2 (Codecentric, OCI) |
| Образ | Keycloak 26.3.2 |
| Релиз Helm | aip-keycloak |
| Режим | start-dev (H2 файловая БД) |
| PVC | 5Gi (StorageClass standard local / longhorn QA) |
| Пространство имён | aip-<env>-infra |
| Владельцы | deploy |
1.2 Keycloak Reconciler
Одноразовый Pod, применяющий декларативное состояние realm через
Keycloak Admin REST API: сначала базовые настройки realm (realm-base),
затем объекты, принадлежащие каждому продукту (clients, роли, пользователи).
Применение идемпотентное и ограничено своим скоупом; общий realm не
перезаписывается целиком.
Запускается как Pod для каждого уровня идентификации:
| Job | Область владения | Что согласовывает |
|---|---|---|
realm-base | deploy | Базовые настройки realm |
agent-platform-identity | agent-platform | Clients, scopes, roles, mappers |
langflow-identity | langflow | Clients, scopes, roles, mappers |
identity-fixtures | deploy | Тестовые пользователи (3 шт.) |
langflow-fixtures | langflow | Разрешения Low-code Конструктора |
1.3 Тестовые пользователи
Определяются в aip-identity-fixtures (включаются целью identity-fixtures):
| Username | Назначение |
|---|---|
workspace-admin | Администратор рабочей области |
agent-invoker | Вызов агентов |
unauthorized-user | Отрицательный тест (пустой доступ) |
2. Платформа ИИ
Платформа ИИ поставляется одним «зонтичным» Helm-релизом aip. Релиз
собирает в единое развёртывание управляющую подсистему (Control Plane),
каталог агентов (Agent Registry), LLM Gateway, подсистему проверки текста
(Guardrails) и (опционально) тестовые данные. Прикладные сервисы создаются в aip-<env>, а общие провайдеры —
отдельными релизами в aip-<env>-infra.
В текущей архитектуре (R2) управление и вызов разделены на две границы:
Platform API Gateway (api-gw) для management/discovery и Platform
Agent Gateway (agent-gw) для A2A-invocation. Control Plane — единственный
public API для platform-managed desired state; Agent Registry — read-only
каталог, наблюдающий за опубликованными агентами.
2.1 Agent Registry
Каталог агентов платформы. Наблюдает за точным allowlist пространств имён
(aip-<env>-agents), хранит карточки агентов и обеспечивает
permission-aware get/list/search. Выставлен на префиксе /agent-registry.
Имя компонента в кластере: aip-agent-registry.
Подкомпоненты
| Подкомпонент | Назначение | Статус |
|---|---|---|
api | HTTP API каталога; точка входа для запросов карточек и поиска агентов | Включён, 1 реплика |
kubernetesReconciler | Наблюдает за ресурсами Kubernetes и согласует состояние каталога | Включён |
outboxRelay | Пересылает событийные записи каталога во внешние потребители | Включён |
searchIndexer | Индексирует каталог для полнотекстового поиска | Включён |
Каждый подкомпонент развёртывается как отдельный Deployment. Перед запуском
контейнера выполняется инициализационный контейнер database-migration,
применяющий миграции схемы.
Одноразовые задания (Jobs)
| Job | Назначение | Статус |
|---|---|---|
database-migration | Применяет миграции схемы базы данных | Выполняется |
authz-schema-apply | Применяет схему авторизации SpiceDB | Делегируется Control Plane (общая схема) |
search-schema-apply | Применяет схему поиска (OpenSearch) | Выполняется |
stream-topic-apply | Создаёт темы Redpanda | Выполняется (при kafkaTopics.enabled) |
Дополнительно
- Политики сети и правил Prometheus отключены по значениям окружения.
- API поддерживает опциональную публичную маршрутизацию HTTPRoute, а также документацию Swagger с OAuth2-потоком по паролю.
2.2 Control Plane
Управляющая подсистема и единственный public API для platform-managed
desired state. Владеет моделями/providers, виртуальными API-ключами,
explicit model grants и публикацией агентов (Agent Publication). Может быть
отключена (controlPlane.enabled=false).
Имя компонента в кластере: aip-control-plane.
Подкомпоненты
| Подкомпонент | Назначение | Статус |
|---|---|---|
api | HTTP API управляющей подсистемы (management/discovery edge) | Включён, 1 реплика |
model-worker | Temporal Worker: reconcile моделей/providers | Включён |
key-worker | Temporal Worker: ключи, grants, physical key placement | Включён |
publisher-worker | Публикация агентов: workload, Service, validation/public route | Включён |
recovery-worker | Восстановление инвентаря (ключевая и publication области) | По профилю |
orchestration-starter | Инициализация Temporal namespace | Включён |
Дополнительно
- Отдельный опциональный SPA-фронтенд (
controlPlane.frontend) — свой Deployment + HTTPRoute наcp.*origin. - Авторизация через общий SpiceDB; схема мигрируется отдельным Job.
- Temporal-оркестрация подключена через общий провайдер
aip-temporalвaip-<env>-infra. - Публикация идёт только в
aip-<env>-agents; обход Agent Gateway блокируют admission, ClusterIP и default-deny NetworkPolicy.
2.3 LLM Gateway
Маршрутизация запросов к LLM-провайдерам (data plane на agentgateway).
Живёт в aip-<env>-models как отдельный Gateway aip-model-gateway с
собственным proxy и RLS (rate-limit service) на Valkey Sentinel. Может быть
отключён; активируется вместе с Control Plane.
2.4 Guardrails
Проверка текста (запросов и ответов модели) на запрещённое содержимое. Компонент разделён на два слоя с чёткой границей ответственности:
- Control Plane владеет версиями политик: хранит их, проверяет структуру (схема JSON), компилирует в «generation» и доставляет неизменяемый набор в Kubernetes, а также управляет привязкой политики к модели. Guardrails Runtime не обращается к БД Control Plane или Kubernetes на каждый запрос: недоступность управления не останавливает уже загруженные проверки.
- Guardrails Runtime — отдельный процесс. Загружает неизменяемый
набор политик при старте (hot-reload отсутствует, смена версии
требует нового поколения развёртывания), проверяет текст и выдаёт
решение
pass/deny/mask. Внутренняя очередь отсутствует: при превышении лимита одновременных проверок возвращается503 overloaded.
Применяется двумя способами:
- Через шлюз (Agentgateway). Политика привязывается к модели в
Control Plane; Gateway сам вызывает Runtime (
promptGuardкак webhook сfailureMode: FailClosed) и защищает текстовые вызовы Chat Completions в профилеagentgateway-1.5.0-text-webhook-v1. - Прямой HTTP-вызов из сервиса. Адаптер RAG/Memory сам вызывает
Runtime (
POST /request/POST /response) перед индексацией, записью или выдачей. Автопривязок вида «политика → коллекция RAG / память агента» в Control Plane нет.
Состав политик — стадии request/response, каждая со списком правил:
regex (RE2), stop_list, external_pipeline (внешний детектор) и
llm_classifier (семантическая проверка моделью). Ошибки, таймауты и
неопределённые ответы трактуются как запрет (FailClosed).
Развёртывание (dev-local). Runtime не является статическим Deployment:
поколения (Deployment + Service + policy шлюза) создаёт model-worker
Control Plane в aip-<env>-models на основе доставленного профиля. Поставка
собирается графом deploy отдельными действиями: guardrail-runtime-image
(сборка образа), dev-local-guardrail-image (публикация по неизменяемому
digest) и dev-local-guardrail-delivery (подготовка неизменяемых ресурсов
доставки в models-namespace и профиль в platform-namespace). Компонент
включается флагом controlPlane.guardrails.enabled, на текущий момент
только для dev-local; QA/production выкатываются отдельно.
| Параметр | Значение |
|---|---|
| Пространство имён Runtime | aip-<env>-models |
| Флаг включения | controlPlane.guardrails.enabled (dev-local) |
| Профиль доставки | ConfigMap cp-guardrail-delivery (platform) |
| Транспортный секрет | cp-guardrail-transport-v2 (immutable, models) |
| CA доставки | cp-guardrail-ca-v2 (immutable, models) |
| TLS-имя | guardrails.agent-platform.internal |
| Каталоги классификаторов | Секреты cp-gr-classifier-* (immutable, models) |
| Аутентификация | Один сервисный токен (не привязан к конкретной политике) |
| Очереди | Нет; превышение конкурентности — 503 |
| Аудит решений | Нет; только метрики процесса |
Для model-inline promptGuard-webhook в dev-local используется проверенный локальный контроллер Agentgateway
v1.5.0-ap-gr1с наложенным патчем (ADR-0011 вdeploy): upstream 1.4.1 не добавляет Model-level promptGuard в коллекцию ancestor backends, поэтому TLS/auth-политики webhook применяются только с патчем.
Промышленное подключение RAG/Memory (прямые HTTP-вызовы) — впереди; в текущей поставке закрыт только управляемый путь через модель.
Подробности: API проверки текста, управление политиками, подключение RAG и Memory, подключение и эксплуатация.
2.5 Team Docs
Статическая документация команды. Выставлена на отдельном origin docs.*.
| Параметр | Значение |
|---|---|
| Тип ресурса | Deployment |
| Релиз Helm | aip |
| Компонент | aip-docs |
| Образ | Собственная сборка team-docs-image |
2.6 Общие сервисные провайдеры (shared)
Отдельные Helm-релизы в aip-<env>-infra, на которые опираются и Platform,
и Low-code Конструктор:
| Компонент | Релиз Helm | Назначение |
|---|---|---|
| PostgreSQL | aip-postgresql | Общая БД; отдельные роли/БД для CP, AR, SpiceDB, Temporal |
| SpiceDB (Authzed) | aip-spicedb | Система авторизации |
| OpenSearch | aip-opensearch | Полнотекстовый поиск |
| Redpanda | aip-redpanda | Event-шина (Kafka-совместимая) |
| OpenTelemetry Collector | aip-opentelemetry | Сбор телеметрии |
| Valkey | aip-valkey | Кэш / RLS counter store (Sentinel) |
| Temporal | aip-temporal | Оркестрация workflows |
| Embeddings stand-in | manifest aip-embeddings | Non-prod заглушка эмбеддингов |
2.7 Test-данные (fixtures)
Опциональный Helm-релиз на том же чарте, что и runtime, но с переключёнными
значениями: runtime-компоненты отключены (runtime.enabled: false),
активны только fixture-данные. Релиз выполняется в aip-<env>-infra и
включается отдельной целью agent-platform-fixtures или агрегатом
all-fixtures.
2.7.1 Smoke Agent
Отключён: у sdk-smoke-v1 нет R2-пути публикации (нужен принятый ADR-0009).
| Параметр | Значение |
|---|---|
| Имя | sdk-smoke-v1 |
| Версия | 1.0.0 |
2.7.2 Low-code Agent
Публикуется реально через Control Plane API (тот же путь, что и Studio «Publish»), а не как статический Deployment.
| Параметр | Значение |
|---|---|
| Имя | lowcode-linguist-v1 |
| Версия | 1.0.5 |
| Workspace | aip-<env> (workspaceId окружения) |
| Публикация | Через controlPlaneUrl, component policy ap-low-code-r2.1 |
| LLM upstream (bootstrap) | qwen3.6-35b-a3b-fp8-2xh100 |
Исторический R1 alias
ap-agent-linguist(/a2a/lowcode-linguist-v1сURLRewrite) больше не является целевой моделью: R2 публикует агентов по стабильному/a2a/v1/agents/{agent_id}через Agent Gateway. R1 остаётся только в quarantined fixture-графе.
3. Общеплатформенные сервисы (RAG, Memory)
RAG и Memory — внешние read-only сервисы, подключаемые к платформе как
отдельные приложения. Их исходники (rag, memory) принадлежат другим
командам и для deploy readonly; deploy только упаковывает upstream-образы
в Helm-релизы и разворачивает API + worker.
Оба сервиса живут в общем пространстве имён aip-<env>-services, используют
общие провайдеры (aip-<env>-infra: PostgreSQL, OpenSearch, RabbitMQ) и не
владеют собственной инфраструктурой, ingress или fixture-нагрузкой. Развёртывание
включается отдельными целями rag / memory (не входит в all).
| Параметр | RAG | Memory |
|---|---|---|
| Релиз Helm | aip-rag | aip-memory |
| Чарт | charts/aip-rag | charts/aip-memory |
| Компоненты | api (Deployment), worker (Deployment) | api (Deployment), worker (Deployment) |
| Service | aip-rag (ClusterIP, порт 8090) | aip-memory (ClusterIP, порт 8091) |
| Runtime-секрет | aip-rag-runtime | aip-memory-runtime |
| AMQP-брокер | aip-rabbitmq (общий, vhost aip-services) | aip-rabbitmq (общий, vhost aip-services) |
| Пространство имён | aip-<env>-services | aip-<env>-services |
Сборка образов
| Build action | Источник | Примечание |
|---|---|---|
rag-image | rag (Git SHA) | Adapter-образ: добавляет системную libpq, отсутствующую в upstream |
rag-upstream-image | rag (Git SHA) | Чистый upstream-образ без изменения исходников |
memory-image | memory (Git SHA) | Чистый upstream-образ без изменения исходников |
Образы фиксируются source SHA и опубликованным digest в deployment BOM.
Upstream-Dockerfile резолвит непинненные Python-зависимости, поэтому
пересборка тех же исходников не гарантирует идентичный образ.
CORE-1894 покрывает только сборку образов и установку. Функциональность приложений и совместимость с версиями общих провайдеров не утверждаются.
4. Low-code Конструктор
Источник исходного кода — langflow. Выставлен на отдельном origin ide.*.
Пространство имён: aip-<env>-low-code-ide.
Релиз Helm: aip-low-code-ide (чарт charts/langflow-sso).
4.1 Бэкенд
| Параметр | Значение |
|---|---|
| Тип ресурса | Deployment |
| Реплики | 1 |
| PVC | 5Gi (StorageClass standard local / longhorn QA) |
| База данных | SQLite (файловая, на PVC) |
| Интеграция | Control Plane API, LLM Gateway, Agent Gateway (R2 provider) |
4.2 Фронтенд
Единственный браузерный origin; проксирует API-трафик бэкенда.
| Параметр | Значение |
|---|---|
| Тип ресурса | Deployment |
| Реплики | 1 |
| Runtime OIDC | Настраивается при сборке образа фронтенда |
5. Шлюзовая инфраструктура
5.1 Gateway API CRDs
| Параметр | Значение |
|---|---|
| Версия | 1.5.0 |
| Файл | standard-install.yaml |
| SHA-256 | 2ed95d1c8687e320f27f83e23e0664bfd7261606afb5ad80acf6c691a97e315b |
| Тип | CRDs, ClusterRole, ClusterRoleBinding |
| Scope | Cluster-scope (только disposable local) |
5.2 Agentgateway CRDs
| Параметр | Значение |
|---|---|
| Chart | agentgateway-crds v1.5.0 (OCI) |
| Digest | sha256:3a6cf44559c612ac8afb7f867aace69bbd4cdba765f1def6377b7a3186c603e3 |
| Тип | CRDs (4 шт.) |
CRDs:
agentgatewaybackends.agentgateway.devagentgatewaymodels.agentgateway.devagentgatewayparameters.agentgateway.devagentgatewaypolicies.agentgateway.dev
5.3 Agentgateway Controller
| Параметр | Значение |
|---|---|
| Chart | agentgateway v1.5.0 (OCI) |
| Digest | sha256:9216ce83965ad2ce0888014d14aac5e71333fd9d4057cd167da92b37630fbee1 |
| Controller Image | v1.5.0@sha256:319489cb86b7f901a52a3fc532ad07f136c92756f88cf02a4040909e20001120 |
| Proxy Image | agentgateway:v1.5.0@sha256:bf2f339ef326d32def2aaeb44b1b4549801293c19b89e764a4228667d97d9896 |
| Namespace | agentgateway-system |
| Тип | Deployment |
| Scope | Только disposable local |
Для model-inline promptGuard-webhook Guardrails в dev-local используется локальный профиль контроллера
v1.5.0-ap-gr1с проверенным патчем (ADR-0011 вdeploy): upstream не добавляет Model-level promptGuard в коллекцию ancestor backends, поэтому TLS/auth-политики webhook прикладываются только с патчем.
5.4 Local Gateway Topology (dev-local)
| Ресурс | Тип | Описание |
|---|---|---|
agentgateway-system | Namespace | Пространство имён для gateway |
aip-gateway | Gateway (ClusterIP) | Общий немодельный data plane (5 ListenerSet) |
aip-gateway | AgentgatewayParameters | Цифровые параметры (ndots=1) |
ListenerSets в aip-<env> (owner aip-deploy):
| ListenerSet | Host (dev-local) | Разрешённые пространства имён |
|---|---|---|
api-gw.localhost-listeners | api-gw.localhost | platform + infra |
cp.localhost-listeners | cp.localhost | platform |
ide.localhost-listeners | ide.localhost | low-code-ide |
docs.localhost-listeners | docs.localhost | platform |
agent-gw.localhost-listeners | agent-gw.localhost | agents |
Три локальных forward-порта 18085, 18086, 18087 ведут в
aip-gateway:80; hostname выбирает listener.
5.5 Внешний шлюз (владение DevOps)
В ai-dev общий немодельный Gateway QA/RC и его operator принадлежат DevOps
(hostNetwork, nodeSelector in-vdl-k8s-c6). Каждая среда имеет отдельный
model Gateway, к которому привязан её биллинг. ListenerSets секции https:
| ListenerSet | Host (QA) | Маршруты |
|---|---|---|
api-gw-qa.ai-dev.inno.tech-listeners | api-gw-qa.ai-dev.inno.tech | API (AR + CP), Keycloak |
cp-qa.ai-dev.inno.tech-listeners | cp-qa.ai-dev.inno.tech | Control Plane UI |
ide-qa.ai-dev.inno.tech-listeners | ide-qa.ai-dev.inno.tech | Low-code Конструктор |
docs-qa.ai-dev.inno.tech-listeners | docs-qa.ai-dev.inno.tech | Team Docs |
agent-gw-qa.ai-dev.inno.tech-listeners | agent-gw-qa.ai-dev.inno.tech | A2A invocation (public/validation) |
6. HTTPRoutes (маршрутизация)
Маршруты формируются чартами продуктов (default-disabled) и включаются
deploy с environment-специфичными host/parentRef/path.
6.1 Платформа ИИ
| Route | Path | Parent | Host |
|---|---|---|---|
| Agent Registry API | /agent-registry | api-gw.*-listeners | api-gw.* |
| Control Plane API | /control-plane | api-gw.*-listeners | api-gw.* |
| Control Plane UI | / | cp.*-listeners | cp.* |
| Team Docs | / | docs.*-listeners | docs.* |
A2A-маршруты опубликованных агентов создаёт Publisher в aip-<env>-agents
по стабильному /a2a/v1/agents/{agent_id} на agent-gw.*-listeners.
6.2 Langflow
| Route | Path | Parent | Host |
|---|---|---|---|
| Low-code Конструктор | / | ide.*-listeners | ide.* |
6.3 Keycloak
| Route | Path | Parent | Host |
|---|---|---|---|
| Keycloak | /keycloak | api-gw.*-listeners | api-gw.* |
7. Секреты и ConfigMaps
7.1 Секреты
| Секрет | Содержимое | Владелец |
|---|---|---|
aip-identity-admin | Admin credentials Keycloak | deploy |
aip-identity-fixture-users | Пароли fixture-пользователей + LLM API key | identity-fixtures |
aip-image-pull-secret | Credentials реестра (QA) | deploy |
aip-model-provider-scibox | SCIBOX API key | deploy |
aip-agent-registry-publication-observer | Client secret публикации | agent-platform |
aip-valkey | Пароль Valkey/Sentinel (RLS) | deploy |
aip-agent-registry | Приложение: БД, SpiceDB, OpenSearch, Kafka | agent-platform |
aip-control-plane-database | Строка подключения CP БД | deploy |
cp-guardrail-transport-v2 | Транспортный TLS + сервисные токены Guardrails (immutable, models) | deploy (guardrail-delivery) |
cp-gr-classifier-* | Учётные данные отдельных классификаторов (immutable, models) | deploy (guardrail-delivery) |
aip-rag-runtime | Runtime-credentials RAG (envFromSecrets) | внешний владелец |
aip-memory-runtime | Runtime-credentials Memory (envFromSecrets) | внешний владелец |
aip-rabbitmq | Учётные данные AMQP (vhost aip-services) | deploy |
ap_build_ca_bundle_00a76a28 | Innotech Root + Issuing CA | deploy |
7.2 ConfigMaps (desired state identity)
| ConfigMap | Содержимое | Владелец |
|---|---|---|
aip-identity-realm-base | Realm-level desired state | deploy |
aip-identity-fixtures | Fixture users desired state | identity-fixtures |
aip-identity-agent-platform | AP client desired state | agent-platform |
aip-identity-langflow | Langflow client desired state | langflow |
aip-identity-langflow-fixtures | Langflow fixture grants | langflow |
8. Сводная таблица всех компонентов
Прикладные (runtime)
| # | Компонент | Тип | Релиз Helm | Пространство имён | Owner |
|---|---|---|---|---|---|
| 1 | Keycloak | StatefulSet | aip-keycloak | infra | deploy |
| 2 | Agent Registry (api, reconciler, relay, indexer) | Deployment | aip | platform | agent-platform |
| 3 | Control Plane (api, workers, frontend) | Deployment | aip | platform | agent-platform |
| 4 | LLM Gateway + RLS | Deployment | aip (models ns) | models | agent-platform |
| 5 | Guardrails Runtime (поколения) | Deployment + Service | aip (models ns, создаёт model-worker) | models | agent-platform |
| 6 | Team Docs | Deployment | aip | platform | agent-platform |
| 7 | Low-code Конструктор (backend, frontend) | Deployment | aip-low-code-ide | low-code-ide | langflow |
Общие провайдеры
| # | Компонент | Релиз Helm | Пространство имён | Owner |
|---|---|---|---|---|
| 8 | PostgreSQL | aip-postgresql | infra | deploy |
| 9 | SpiceDB | aip-spicedb | infra | deploy |
| 10 | OpenSearch | aip-opensearch | infra | deploy |
| 11 | Redpanda | aip-redpanda | infra | deploy |
| 12 | OpenTelemetry Collector | aip-opentelemetry | infra | deploy |
| 13 | Valkey | aip-valkey | infra | deploy |
| 14 | Temporal | aip-temporal | infra | deploy |
| 15 | Embeddings stand-in | manifest | infra | agent-platform |
Шлюзовая инфраструктура
| # | Компонент | Scope | Owner |
|---|---|---|---|
| 16 | Gateway API CRDs | Cluster (local) | deploy |
| 17 | Agentgateway CRDs | Cluster (local) | deploy |
| 18 | Agentgateway Controller | agentgateway-system (local) | deploy |
| 19 | Gateway aip-gateway | agentgateway-system | deploy (local) / DevOps (QA) |
| 20 | ListenerSets (api, cp, ide, docs, agent) | platform | deploy (local) / DevOps (QA) |
Fixture-компоненты (opt-in)
| # | Компонент | Релиз / цель | Owner |
|---|---|---|---|
| 21 | Low-code Agent (published) | agent-platform-fixtures | agent-platform |
| 22 | Fixture Users (3 шт.) | identity-fixtures | deploy |
| 23 | Langflow Fixture Grants | langflow-fixtures | langflow |
Reconciler Jobs (identity)
| # | Job | Owner |
|---|---|---|
| 24 | realm-base | deploy |
| 25 | agent-platform-identity | agent-platform |
| 26 | langflow-identity | langflow |
| 27 | identity-fixtures | deploy |
| 28 | langflow-fixtures | langflow |
9. Граф зависимостей развёртывания
environment (namespaces, shared credentials)
├── shared-postgresql → shared-databases
│ ├── shared-spicedb
│ └── shared-temporal
├── shared-opensearch
├── shared-redpanda
├── shared-valkey
└── shared-opentelemetry
identity-provider/keycloak (aip-keycloak)
└── realm-base (Job)
├── agent-platform-identity (Job)
│ └── aip (Helm release: runtime)
│ ├── Agent Registry (api, reconciler, relay, indexer)
│ ├── Control Plane (api, workers, frontend)
│ ├── LLM Gateway (models ns) + RLS
│ ├── Guardrails (dev-local):
│ │ dev-local-guardrail-image (Run, digest)
│ │ dev-local-guardrail-delivery (Run: transport, CA,
│ │ classifier catalog, profile → cp-guardrail-delivery)
│ │ → поколения Runtime создаёт model-worker (models ns)
│ └── Team Docs
│ └── aip (Helm release: fixtures, opt-in)
│ └── low-code agent (published via CP)
├── langflow-identity (Job)
│ └── aip-low-code-ide (Helm release)
│ ├── backend
│ └── frontend
│ └── langflow-fixtures (Job)
└── identity-fixtures (Job)Сборка образов (Build actions, не отображены в графе):
agent-platform-image→ Agent Registry APIcontrol-plane-image→ Control Plane (api + workers)control-plane-frontend-image→ Control Plane SPAguardrail-runtime-image→ Guardrails Runtime (dev-local)team-docs-image→ Team Docslow-code-runtime-image→ low-code fixture runtimeplatform-lfx-wheel-image→ carrier для LFX wheel (ADR-0009)langflow-backend-image→ Low-code Конструктор backendlangflow-frontend-image→ Low-code Конструктор frontendkeycloak-reconciler-image→ identity reconciler Jobs