Repository navigation
v0.1.0-beta.2 — Core/UI и Kubernetes
Pre-releaseAsmblyr Collaborative теперь поставляется отдельными Core и UI с общим публичным доменом. Добавлен Helm-чарт для Kubernetes. PostgreSQL и S3 подключаются отдельно; SDK, Kit и встроенные плагины собираются из исходников монорепозитория.
Что изменилось
- Браузерный API, вход, сессии и callbacks перенесены в Core. UI отвечает за страницы и больше не содержит прослойку API. Публичный API доступен на
/apiтого же домена. - Два production-образа —
collaborative-coreиcollaborative-ui— выпускаются из одного коммита. Для небольших серверов предусмотрен Docker Compose. - Helm-чарт создаёт отдельные Deployment/Service для Core и UI, маршрутизацию одного домена и Job миграций перед установкой и обновлением. Включены проверки готовности, запуск без root и файловая система контейнеров только для чтения.
- Секреты подключаются только к Core и миграциям. Поддержаны как переменные окружения из существующего Secret, так и файлы, например ключи собственного OAuth-сервера.
- Сессии, ограничения запросов, отмена ответа ассистента и подготовленные формы плагинов используют PostgreSQL для работы между репликами. Sticky sessions не требуются.
Установка и обновление
Релизные образы для linux/amd64:
ghcr.io/asmblyr/collaborative-core:0.1.0-beta.2
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.2
Helm-чарт:
oci://ghcr.io/asmblyr/charts/collaborative
version: 0.1.0-beta.2
Подготовьте namespace, внешнюю PostgreSQL, Secret с настройками Core и ingress/TLS согласно инструкции этой версии. Затем установите чарт с приватным values-файлом:
helm upgrade --install collaborative oci://ghcr.io/asmblyr/charts/collaborative \
--version 0.1.0-beta.2 --namespace collaborative \
--values /private/collaborative-values.yaml \
--set image.tag=0.1.0-beta.2 --wait --timeout 10mПри переходе с beta.1:
- Сохраните резервную копию PostgreSQL и ключей шифрования/OAuth.
- Используйте оба новых образа одной версии. В Compose вместо
ASMBLYR_IMAGEзадайтеASMBLYR_CORE_IMAGEиASMBLYR_UI_IMAGE. - Примените миграции перед новым Core; Helm и production Compose делают это отдельным запуском. Добавлены таблицы браузерных сессий и состояния для реплик, существующие данные сохраняются.
- Пользователям потребуется войти заново: браузерная сессия переведена на новый формат cookie. URL входа через SSO и Google остаются на домене админки.
Монолитный target app и deploy/compose.monolith.yaml сохранены для самостоятельной сборки и перехода существующих установок; новые релизные образы выпускаются раздельно. npm-пакеты этим релизом не перепубликуются.
Проверки и ограничения
Локально и в проверке коммита на GitHub прошли 477 тестов Core и 141 тест UI. Три дополнительных сценария Core не запускались: интеграция с LavinMQ, нагрузочный тест и подготовка визуального стенда. В отдельном временном Kubernetes namespace проверены два Core и два UI, браузерный вход, CRUD, загрузка/чтение S3, поток ассистента с тестовым AI-провайдером, отмена запроса с другой реплики, OAuth discovery/JWKS и обновление Helm с сохранением данных и сессии. Тестовое окружение удалено.
- Это предварительный релиз; модель размещения остаётся «отдельная установка для команды».
- При остановке Core активный поток ассистента прерывается; бесшовного переноса генерации нет.
- Helm rollback не откатывает миграции PostgreSQL. Перед обновлением нужна резервная копия.
- Для строгого нулевого простоя интерфейса нужны сохранение старых статических ресурсов или переключение всего релиза; не смешивайте произвольные версии Core и UI.
- Временный Kubernetes-стенд не проверял публичные HTTPS callbacks внешних Google/GitLab и внешний AI-провайдер.
Полный diff с beta.1 · Документация
Артефакты и проверка выпуска
Коммит: 7e3df67. Релизный CI завершился успешно. Оба образа и Helm-чарт версии 0.1.0-beta.2 скачаны из GHCR без авторизации; версии и привязка к коммиту проверены.
| Артефакт | Digest |
|---|---|
| Core | sha256:2c6431ba8ac1cd3b053553a29debe8809a75c08a52410bbc17c375b463d59f61 |
| UI | sha256:07334685fbdaa4cc30a9bcb8eef8bcf5faadd72f095323c18f97416bcaf447d6 |
| Helm-чарт | sha256:dd2b2e5c40d952d3488010bda47503492446e1e549c5f4d77108d818570cc09f |