До обновления
- Скачайте со страницы выпусков github.com/sleep3r/colloq/releases файлы
release.json,colloq-deploy.tar.gzиSHA256SUMSвыбранной версии. Проверьте суммы командойsha256sum -c SHA256SUMSи манифест командойscripts/cluster.sh validate --release release.json. - Убедитесь, что образы доступны с используемыми registry-правами, а на диске хватает места для backup.
- Проверьте заявленную совместимость схемы данных и сохраните внешний backup текущего состояния.
- Согласуйте перерыв: приложение, брокер и ядра будут заменены.
Используйте инструменты выбранного выпуска. Установка не подменяет отсутствующий digest и не принимает локально исправленный архив инструментов.
Выполните обновление
sudo scripts/cluster.sh update --release next-release.json
sudo scripts/cluster.sh status
sudo scripts/cluster.sh smokeUpdate сначала проверяет совместимость схемы данных, затем делает согласованную переносимую копию — приложение, брокер и ядра комнат останавливаются уже на этом шаге. Только после этого preflight проверяет реальную загрузку образов и запуск от UID 1000. Если он не прошёл, писатели остаются остановленными, а releases/current.json ещё не заменён: устраните причину и повторите update либо верните прежний выпуск командой sudo scripts/cluster.sh start. Копия ложится в backups/ рядом с распакованными инструментами выпуска — перенесите её с сервера. Тетради и файлы остаются; переменные Python теряются.
Update сохраняет /var/lib/colloq/config.env вместе с RUNTIME_KERNEL_MEMORY и RUNTIME_KERNEL_MEMORY_MAX брокера. Чтобы изменить их, передайте исправленный файл: sudo scripts/cluster.sh update --release release.json --env-file instance.env — с тем же выпуском, если меняется только конфигурация.
После обновления проверьте старую комнату, новую комнату, публикации, файлы и исполнение. Убедитесь, что старые занятия продолжают использовать закреплённые ревизии окружений.
Когда нужен откат
sudo scripts/cluster.sh rollback --release previous-release.json
sudo scripts/cluster.sh status
sudo scripts/cluster.sh smokeRollback также проверяет совместимость, создаёт consistent-backup и требует перерыва. Возврат старого образа не отменяет несовместимую миграцию базы: в таком случае нужен подходящий backup и процедура восстановления.
При неудачной readiness-проверке желаемый выпуск остаётся записанным, а предыдущий находится в releases/previous.json. Оператор выбирает откат явно; автоматического непроверенного понижения схемы нет.
Версия k3s меняется отдельно
Colloq-выпуск требует точную версию k3s. Её изменение — самостоятельная операция: backup datastore и server token, план обновления k3s, затем Colloq-выпуск, совместимый с новой точной версией. Обычный update приложения не обещает безопасного upgrade кластера.
Старые комнаты и образы
Сохраняйте registry-образы, на которые ссылаются старые комнаты и резервные копии. Даже если окружение исчезло из нового выпуска, каталог сохраняет нужные прежние ревизии. Очистка registry должна учитывать эти ссылки.
Одна VM и локальные тома предполагают обслуживание с перерывом. Этот процесс не обеспечивает HA или обновление без остановки.
Локальная установка через pip
Завершите занятие (colloq stop), сделайте копию colloq backup и обновите пакет: pip install --upgrade colloq. Данные в ~/.colloq обновление не трогает; при следующем colloq start образ ядра пересоберётся, если изменились его Dockerfile или списки пакетов. Откат — установка прежней версии, pip install colloq==<версия>; при сомнениях восстановите копию командой colloq restore --legacy --db <файл.db> --files <архив>.