server-monitor-manager/docs/linux-platform-matrix.md
2026-08-11 01:46:04 +07:00

24 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Linux platform matrix
Workflow `linux-platform-matrix.yml` собирает те же self-contained release-архивы, которые устанавливает production bootstrap, отдельно для `linux-x64` и `linux-arm64`.
## Реальные Ubuntu VM
На GitHub-hosted VM проверяются:
- Ubuntu 22.04 x64;
- Ubuntu 24.04 x64;
- Ubuntu 22.04 arm64;
- Ubuntu 24.04 arm64.
Каждая VM выполняет `preflight`, проверяет checksum и содержимое архива, дважды устанавливает Control, проверяет emergency-команду, перезапускает systemd service и обращается к HTTPS `/healthz` через созданный CA.
## Debian systemd containers
Debian 12/13 проверяются для x64 и arm64 в privileged systemd-контейнерах на соответствующей архитектуре runner. Тест выполняет чистую и повторную установку, затем полностью перезапускает контейнер и проверяет автоматический запуск Control и HTTPS healthcheck после нового systemd boot.
Systemd-контейнер проверяет дистрибутив, users, permissions, units, certificates, SQLite state и service lifecycle, но не считается полноценной Debian VM. Отдельным незакрытым критерием остаётся reboot настоящих Debian VM с собственным kernel. Физическая проверка WireGuard/nftables также выполняется по `three-server-acceptance.md`, поскольку GitHub runners не моделируют внешний NAT и cloud firewall.
## Debian VM reboot constraint
В GitHub-hosted runners для Debian недоступны официальные образы виртуальных машин. Из-за этого тестирование перезагрузки полноценной Debian VM с собственным ядром невозможно в текущем CI/CD pipeline. В качестве компромиссного решения для тестов на обеих архитектурах (x64 и arm64) используются privileged systemd-контейнеры. Они успешно моделируют lifecycle systemd services, но физический reboot Debian VM остаётся для ручной приёмки.