ОБНОВЛЕНИЕ CONTROL CENTER, СОВМЕСТИМОСТЬ И ROLLBACK Продукт: Control Center Текущий Public Stable: 0.31.1 Тип документа: Публичное руководство по обновлению и восстановлению Последнее обновление: 13.09.2026 ТЕКУЩИЙ ПОДДЕРЖИВАЕМЫЙ UPDATE TARGET — 0.31.1 Control Center 0.31.1 опубликован как corrective Public Stable и восстанавливает общий package contract: Linux runtime archive содержит обязательный исполняемый `scripts/migrate.sh`. Для 0.31.1 подтверждены clean install, переходы 0.30.0 → 0.31.1 и 0.31.0 → 0.31.1, migration/restart/idempotency, сохранение данных/config/admin credential state, rollback/forward-recovery и post-publication artifact verification. Перед обновлением на 0.31.1: - используйте только официальный `v0.31.1` release и его checksums/manifests/provenance/SBOM; - создайте свежий recovery point; - подтвердите, что исходная версия — 0.30.0 либо 0.31.0, если используется именно квалифицированный опубликованный path; - не подменяйте `scripts/migrate.sh` вручную и не ослабляйте checksum/archive validation; - не редактируйте ранее опубликованные migration-файлы; - не выполняйте downgrade БД вручную. ИСТОРИЧЕСКОЕ ОГРАНИЧЕНИЕ IMMUTABLE v0.31.0 Опубликованный Linux runtime archive `control-center-0.31.0-linux-amd64.tar.gz` не содержит обязательный `scripts/migrate.sh`. Existing tag/release/assets `v0.31.0` не переписываются. Этот packaging defect не делает 0.31.0 текущим рекомендуемым target и не переносится на 0.31.1. Для exact identity `v0.31.0` допускается только отдельно документированная ограниченная compatibility procedure с migration runner из того же immutable tag и pinned SHA-256 `6965ea551bddd809bc23eee17ed56b828a71b0d294761f0210bb9a6dc8c12f3d`. Для любой другой неполной release identity package validation остаётся fail-closed. КРИТИЧЕСКОЕ ПРАВИЛО АУТЕНТИФИКАЦИИ Обновление НЕ должно сбрасывать установленный пользователем пароль локального `admin` и НЕ должно возвращать пароль к первоначальному `admin`. Bootstrap-учётные данные не создаются повторно при update. ПЕРЕД ПОДДЕРЖИВАЕМЫМ ОБНОВЛЕНИЕМ 1. Зафиксируйте текущую exact version/release identity. 2. Убедитесь, что исходная версия входит в опубликованный supported upgrade path целевого релиза. 3. Проверьте отсутствие неизвестного Critical/Failed состояния. 4. Создайте свежий recovery point и убедитесь, что restore path известен и применим к исходной версии. 5. Проверьте свободное место и состояние PostgreSQL. 6. Проверьте release notes целевой версии, checksum, manifest/provenance и известные ограничения. 7. Остановите новые risk-bearing Changes/Jobs на время обновления. ПОДДЕРЖИВАЕМАЯ БАЗА Текущая Stable-линия квалифицирует PostgreSQL 15–18. Multi-node/HA не следует считать поддерживаемым только по наличию нескольких серверов: конкретный HA profile должен иметь отдельное failure/recovery evidence. Для текущего Stable основной поддерживаемый режим — single-node. MIGRATIONS Ранее опубликованные migration-файлы являются immutable byte-for-byte. Любое изменение схемы выполняется только новой миграцией с новым номером. Checksum drift уже опубликованной migration является release blocker. Не выполняйте SQL-исправления «вручную» вместо штатного migration path, если это не часть официальной recovery procedure. ПОСЛЕ КОРРЕКТНОГО UPDATE Проверьте: - установленную version/release identity — ожидается 0.31.1; - systemd-service; - `/health/live` и `/health/ready`; - вход с существующим пользовательским паролем `admin`; - отсутствие возврата к bootstrap-паролю; - доступность данных и конфигурации; - состояние PostgreSQL и завершённость migrations; - отсутствие неизвестного Critical/Failed состояния; - доступность rollback/recovery point. False Success запрещён: факт завершения installer/migration process сам по себе не означает успешное обновление без health/read-back проверки. КОГДА ОСТАНАВЛИВАТЬ UPDATE Остановите rollout при любом из условий: - checksum или release identity не совпадает; - обязательный файл release package отсутствует; - migration завершилась ошибкой; - service не становится ready; - пользовательские данные/настройки недоступны; - существующий пароль перестал работать либо bootstrap-пароль неожиданно восстановился; - появилось неизвестное Critical/Failed состояние; - recovery point отсутствует или не соответствует исходной версии. ROLLBACK И FORWARD RECOVERY Нельзя предполагать, что установка старого бинарного файла автоматически совместима с уже изменённой DB schema. Для 0.31.1 используйте только опубликованный квалифицированный rollback/forward-recovery path. В общем случае допустим один из вариантов, явно подтверждённых для конкретной release identity: 1. квалифицированный package/schema rollback; 2. forward recovery новой исправленной версией; 3. восстановление совместимого pre-update recovery point. Перед restore остановите новые mutations и учитывайте, что внешние действия, выполненные после recovery point, могут уже существовать вне Control Center. После restore требуется повторная проверка Actual State/evidence, а не только запуск сервиса. CORRECTIVE RELEASE STATUS Corrective release 0.31.1 завершил необходимые gates для текущего технического Public Stable: - release archive membership с обязательным `scripts/migrate.sh`; - reproducible packaging; - clean install; - upgrades 0.30.0 → 0.31.1 и 0.31.0 → 0.31.1; - PostgreSQL migration/restart и idempotency; - сохранение данных/config/admin credential state; - rollback/forward-recovery; - security/privacy/public-source gates; - checksums/manifests/provenance/SBOM; - post-publication artifact verification. Актуальный официальный статус установки и обновления публикуется в Stable-канале: https://github.com/ControlCenterSoft/control-center-stable/blob/main/INSTALL.md