feat: add complete server uninstall mode #60

Merged
ochenstarik-ui merged 2 commits from codex/uninstall-mode into main 2026-08-18 04:28:24 +00:00
ochenstarik-ui commented 2026-08-17 19:54:07 +00:00 (Migrated from github.com)

Что сделано

  • В интерактивный smm-setup.sh добавлен третий пункт Uninstall.
  • Перед подтверждением выводится фактический план найденных объектов.
  • Добавлены две глубины: удаление программы с сохранением Control DB/backups/CA и полный purge с отдельным DESTROY-DATA.
  • Службы сначала отключаются и останавливаются, затем процессы пользователей завершаются TERM/KILL; после этого удаляются только собственные units, users/groups, файлы, smm0 и таблица inet ochenstarik_smm.
  • Добавлен неинтерактивный uninstall-system с обязательными флагами и итоговой проверкой портов, маршрутов, units и users.
  • Добавлены unit/interactive и привилегированные systemd smoke-сценарии, включая пустую машину, сохранение чужих объектов и идемпотентный повторный purge.
  • Ветка синхронизирована с актуальным main (25bfa8d) обычным merge без переписывания истории.

Проверено локально

  • bash -n для изменённых shell-скриптов — успешно.
  • tests/bootstrap/test-unified-installer.shUNIFIED_INSTALLER=PASS.
  • tests/bootstrap/test-uninstall-mode.shUNINSTALL_MODE=PASS.
  • git diff --check — успешно.

Проверено в CI

Что не проверялось локально

  • Привилегированные Docker/systemd smoke-тесты не запускались локально: Docker отсутствует, а локальный WSL запросил пароль sudo. Эти сценарии полностью прошли в Linux platform matrix и Linux control and agent CI.

Теги не создавались, релиз не запускался. PR не смержен.

## Что сделано - В интерактивный `smm-setup.sh` добавлен третий пункт `Uninstall`. - Перед подтверждением выводится фактический план найденных объектов. - Добавлены две глубины: удаление программы с сохранением Control DB/backups/CA и полный purge с отдельным `DESTROY-DATA`. - Службы сначала отключаются и останавливаются, затем процессы пользователей завершаются TERM/KILL; после этого удаляются только собственные units, users/groups, файлы, `smm0` и таблица `inet ochenstarik_smm`. - Добавлен неинтерактивный `uninstall-system` с обязательными флагами и итоговой проверкой портов, маршрутов, units и users. - Добавлены unit/interactive и привилегированные systemd smoke-сценарии, включая пустую машину, сохранение чужих объектов и идемпотентный повторный purge. - Ветка синхронизирована с актуальным `main` (`25bfa8d`) обычным merge без переписывания истории. ## Проверено локально - `bash -n` для изменённых shell-скриптов — успешно. - `tests/bootstrap/test-unified-installer.sh` — `UNIFIED_INSTALLER=PASS`. - `tests/bootstrap/test-uninstall-mode.sh` — `UNINSTALL_MODE=PASS`. - `git diff --check` — успешно. ## Проверено в CI - [Windows build (PR)](https://github.com/ochenstarik-ui/server-monitor-manager/actions/runs/32063640798) — success (`build`). - [Linux control and agent (PR)](https://github.com/ochenstarik-ui/server-monitor-manager/actions/runs/32063640909) — success (`build-and-test`). - [Linux platform matrix](https://github.com/ochenstarik-ui/server-monitor-manager/actions/runs/32063640885) — success: Debian 12/13 systemd containers и Ubuntu 22.04/24.04 native VM на x64/arm64. - Дополнительные push-прогоны: [Windows build](https://github.com/ochenstarik-ui/server-monitor-manager/actions/runs/32063634444), [Linux control and agent](https://github.com/ochenstarik-ui/server-monitor-manager/actions/runs/32063634347) — success. Последний был чисто перезапущен после зависшего инфраструктурного запуска; повтор завершился за 5:15. ## Что не проверялось локально - Привилегированные Docker/systemd smoke-тесты не запускались локально: Docker отсутствует, а локальный WSL запросил пароль `sudo`. Эти сценарии полностью прошли в Linux platform matrix и Linux control and agent CI. Теги не создавались, релиз не запускался. PR не смержен.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: ochenstarik/server-monitor-manager#60
No description provided.