Окружения разработки и ST
Различия локальной и общей среды Платформы ИИ, их адресов, инфраструктуры и правил доступа.
Garden использует один граф компонентов, но подставляет в него параметры выбранного окружения. Это позволяет проверять одинаковые контракты приложения, не выдавая локальную инфраструктуру за точную копию общей среды.
Сравнение окружений
| Параметр | dev-local | ST |
|---|---|---|
| Kubernetes | Одноразовый Kind | Общий кластер ai-dev |
| Пространство имён | ap-dev-<username> | ap-st |
| Контекст | kind-ap-dev-local | ai-dev |
| Kubeconfig | ~/.kube/ap-dev-local | ~/.kube/ai-dev |
| Сборка | Локальный Docker, архитектура рабочей станции | Локальный Docker, целевая архитектура linux/amd64 |
| Реестр application images | Не используется; local-docker загружает образы в Kind | nexus.inno.tech:19108/ap |
| OCI-артефакты опубликованных агентов | Отдельный persistent Registry provider в Docker network Kind | Внешний Registry provider; точный endpoint подтверждается перед rollout |
| Хранилище | standard | longhorn |
| Шлюз | Управляется композицией | Управляется DevOps |
| Control Plane | Включён для локальной разработки | Пока выключен |
| Доступ | HTTP на адресах *.localhost | Внешний HTTPS |
| Локальные связи исходного кода | Разрешены | Запрещены |
| Удаление данных | Полный подтверждённый сброс Kind | Только проверенная миграция с отдельным согласованием |
dev-local
Локальная среда использует точный кластер ap-dev-local. Garden
устанавливает закреплённые версии Gateway API и agentgateway, создаёт
локальную шлюзовую топологию и разворачивает компоненты в пространстве имён
разработчика.
Доступ с рабочей станции обеспечивает отдельное действие:
garden run dev-local-edge-forward --env dev-localПубличные адреса локальной среды:
- API —
http://api-gw.localhost:18085; - Low-code IDE —
http://ide.localhost:18086; - документация —
http://docs.localhost:18086.
Локальный HTTP допустим только для адресов .localhost. Он не
является образцом внешнего или производственного доступа.
Target agent-platform транзитивно согласует локальный OCI Registry
для data-only артефактов агентов. Он не заменяет механизм доставки application
images. После повторного запуска остановленного Kind восстановите containerd
mapping командой
garden run dev-local-artifact-registry --env dev-local --yes.
Данные Registry хранятся в отдельном Docker volume и переживают пересоздание
кластера до подтверждённого полного reset.
Для публикации low-code агента тот же target строит Runtime application image,
зеркалирует его в этот Registry action-ом
dev-local-runtime-image и передаёт Control Plane immutable
node-facing ссылку по digest. Это промежуточное environment-действие; вручную
копировать образ из Docker в Kind или подставлять Garden tag не требуется.
Локальная среда одноразовая, но остановка перенаправления портов не удаляет рабочие нагрузки. Полный сброс выполняется удалением точного Kind-кластера и уничтожает все его постоянные данные.
ST
ST использует общее пространство имён ap-st. Композиция создаёт
только разрешённые ресурсы этого пространства имён, включая HTTPRoute
приложений.
Control Plane в профиле ST пока явно выключен. Garden не требует его внутренних values, не собирает его образ и не создаёт связанные workload, route или fixture-роли. Его включение будет отдельным изменением профиля после завершения разработки компонента.
Gateway, ListenerSet, DNS, TLS-секреты и сертификаты принадлежат
DevOps. Перед каждым развёртыванием оператор должен заново проверить
существование внешних родителей маршрутов, разрешённые пространства имён, имена
узлов и состояние шлюза.
Основные публичные адреса:
- API —
https://api-gw.ai-dev.inno.tech; - Low-code IDE —
https://ide.ai-dev.inno.tech; - документация —
https://docs.ai-dev.inno.tech.
Локальные соответствия действий исходным каталогам не являются способом поставки ST. Перед операторским развёртыванием проверьте:
garden get linked-repos --env stСписок должен быть пустым, а общая конфигурация — содержать проверенные полные Git SHA.
Что должно совпадать
Между dev-local и ST проверяются одни и те же классы контрактов:
- образы и Helm-шаблоны компонентов;
- публичные пути API;
- издатель OIDC, аудитория и адрес возврата;
- HTTPRoute и выбранный Kubernetes Service;
- готовность компонентов;
- постоянное хранение там, где оно требуется;
- явное отделение обычной среды от тестовых данных.
Имена узлов, протокол доступа, класс хранилища и владелец шлюза намеренно различаются и задаются окружением.
Границы доступа
- Разработчик изменяет только собственное пространство имён в разрешённой среде.
- Наличие административного kubeconfig не разрешает менять общие операторы, Gateway или чужие пространства имён.
- Создание и ротация секретов требуют отдельного разрешения.
- Ручное удаление пространства имён, постоянных томов или данных ST запрещено.
- Успешная локальная проверка не заменяет проверку внешнего маршрута и OIDC в ST.
Полная операторская последовательность ST находится в руководстве по развёртыванию. Разработчику не следует повторять команды общей среды как часть обычного локального цикла.
Другие окружения
Текущий общий проект Garden реализует dev-local и ST. Другие
профили разработки не добавляются автоматически только потому, что их
значения существуют в одном из продуктовых репозиториев. Для нового окружения
сначала должны быть определены пространство имён, права, реестр,
идентификация, DNS, TLS, хранилище и порядок очистки.