first cycle lab release
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Rollback — Phase 8
|
||||
|
||||
Команды работают по SSH с root из `platform/config.yaml`. При необходимости
|
||||
передайте `--ssh-config FILE` и `--remote-node /absolute/path/to/node`.
|
||||
|
||||
```bash
|
||||
./mcpack rollback
|
||||
./mcpack rollback-pack 0.0.4
|
||||
```
|
||||
|
||||
Без подтверждения это только чтение: active/previous, actual binding, состояния
|
||||
операций и список snapshots с временем и исходным релизом. Нет загрузки agent,
|
||||
блокировки, остановки сервера или сборки. Список не заменяет проверку snapshot.
|
||||
|
||||
```bash
|
||||
./mcpack rollback-pack 0.0.4 --confirm-compatible
|
||||
./mcpack rollback --backup SNAPSHOT_ID --accept-progress-loss
|
||||
```
|
||||
|
||||
Первый режим запускает сохранённый полный релиз с текущим миром. Оператор
|
||||
подтверждает совместимость модов и мира; SemVer её не доказывает. Ручные изменения
|
||||
managed configs блокируют перезапись, если target не содержит ровно эти изменения.
|
||||
|
||||
Второй режим восстанавливает весь runtime и исходный релиз snapshot. Прогресс
|
||||
после указанного времени исчезает из активного runtime, включая данные модов.
|
||||
Архив, inventory и release проверяются до остановки; распаковка происходит в
|
||||
отдельном каталоге. Текущий runtime переносится в `retired-runtimes/UUID/runtime`,
|
||||
а не удаляется. Дополнительно перед обоими режимами создаётся проверенный backup
|
||||
текущего состояния при остановленном сервере под общей блокировкой.
|
||||
|
||||
`.env` и секреты сохраняются. Явный `MC_BIND_ADDRESS` действует и для старого
|
||||
Compose через временный port overlay; immutable release не переписывается.
|
||||
Pointers обновляются только после успешного startup/health. Состояние записывается
|
||||
в `rollback-state.json`, предыдущий deployment — в `operation-history/`.
|
||||
|
||||
После неудачного deploy snapshot recovery определяет применённый релиз по binding,
|
||||
даже если active ещё указывает на предыдущий. Pack-only в таком состоянии запрещён.
|
||||
При ошибке rollback сервер останавливается; автоматического запуска старой сборки
|
||||
на изменённом мире нет. Незавершённый rollback блокирует следующие операции.
|
||||
|
||||
Для ручного восстановления после ошибки сначала изучите state, binding,
|
||||
diagnostics и оба pointers. Сохраните current backup, retired runtime и staged
|
||||
restore. Восстановите проверенный snapshot в отдельный root по [backups.md](backups.md),
|
||||
с host settings этого сервера; удалите остановленный старый контейнер и проверьте
|
||||
source release и health восстановленной копии. Завершать failed state можно лишь
|
||||
после сверки фактического binding и pointers; удаление state само по себе не recovery.
|
||||
Backups и retired runtime автоматически не очищаются.
|
||||
Reference in New Issue
Block a user