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

2.5 KiB
Raw Blame History

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 остаётся для ручной приёмки.