2.1 KiB
2.1 KiB
B4 Runtime Dependencies And Preflight
Важно
go.modхранит только Go-модули (библиотеки, которые импортируются в коде).- Внешние сервисы/бинарники (
systemd,nft,ip,sing-box,dnstt-client,phoenix-client) не являются Go-модулями и не должны фиксироваться вgo.mod.
Текущие Go-зависимости (по go.mod)
github.com/cenkalti/backoff/v4github.com/creack/pty
Runtime-зависимости ядра (вне go.mod)
Required (core path)
systemctlnftipcurl/usr/local/bin/adguardvpn-cli-root
Required service units (current production path)
singbox@.service
Recommended / optional
nsenter(предпочтительный exec-mode для netns)wget(fallback для части egress probe)psipset
Optional by enabled transport kind
sing-box(/usr/local/bin/sing-boxили/usr/bin/sing-box)dnstt-client(/usr/local/bin/dnstt-clientили/usr/bin/dnstt-client)phoenix-client(/usr/local/bin/phoenix-clientили/usr/bin/phoenix-client)
Optional service units (зависят от deployment-профиля)
adguardvpn-autoconnect.servicesmartdns-local.serviceselective-vpn2@.servicesing-box.service(legacy/compat)dnstt-client.servicephoenix-client.service
Preflight-check
- Скрипт:
scripts/check_runtime_dependencies.sh - Режимы:
scripts/check_runtime_dependencies.sh— проверка required + warning по optional.scripts/check_runtime_dependencies.sh --strict— fail если есть missing/warning.
Зачем это перед рефакторингом
- Убираем смешение понятий: Go-зависимости отдельно, runtime/system-зависимости отдельно.
- Перед декомпозицией (
F1.*) быстро проверяем среду и снижаем ложные регрессии.