fix7: продакшен-реализация полного reconcile swap и интеграций

- Полностью переписан swap-модуль в режиме exclusive ownership\n- Добавлены verify/checks, статус фактического swap-state и drift\n- Интегрирован ensure-swap в daemon и systemd ExecStartPre\n- Усилен lock API (таймауты) и применение в traffic/firewall/swap\n- Усилен parser firewall (JSON-first + устойчивый text fallback)\n- Обновлены config validation, runtime tools и default priority\n- Синхронизированы docs и build/package hygiene\n- Удалены member Cargo.lock в пользу корневого lockfile
This commit is contained in:
2026-05-11 17:30:15 +05:00
parent 819cc9c308
commit 7a4e9764b1
17 changed files with 842 additions and 957 deletions
+17 -1
View File
@@ -225,6 +225,18 @@ prepare_build_gate() {
cargo clippy --locked --workspace --all-targets --manifest-path "$WORKSPACE_MANIFEST" -- -D warnings
cargo test --locked --workspace --release --manifest-path "$WORKSPACE_MANIFEST"
cargo build --locked --workspace --release --manifest-path "$WORKSPACE_MANIFEST"
cargo metadata --locked --manifest-path "$WORKSPACE_MANIFEST" >/dev/null
if command -v systemd-analyze >/dev/null 2>&1; then
systemd-analyze verify "$ROOT_DIR/awg2-harness.service"
systemd-analyze verify "$ROOT_DIR/awg2-reboot-scheduler.service"
fi
cargo metadata --locked --manifest-path "$WORKSPACE_MANIFEST" >/dev/null
if command -v systemd-analyze >/dev/null 2>&1; then
systemd-analyze verify "$ROOT_DIR/awg2-harness.service"
systemd-analyze verify "$ROOT_DIR/awg2-reboot-scheduler.service"
fi
file "$TARGET_BIN"
file "$REBOOT_BIN"
@@ -337,7 +349,7 @@ Depends: libc6, iproute2, wireguard-tools, nftables, kmod, util-linux, procps, s
Description: Host-side orchestrator for AmneziaWG traffic shaping and lifecycle recovery
AWG2 Harness manages AmneziaWG traffic shaping, IFB ingress shaping,
nftables anti-torrent guard, reboot scheduling, swap setup and daemonized
drift recovery on dedicated Debian hosts. Includes external reboot scheduler.
drift recovery on dedicated Debian hosts. Includes external reboot scheduler.
EOF
cat >"$staging/DEBIAN/postinst" <<'EOF'
@@ -371,6 +383,10 @@ EOF
pkg_path="$DIST_DIR/$pkg_name"
dpkg-deb --build "$staging" "$pkg_path"
dpkg-deb --info "$pkg_path"
dpkg-deb --contents "$pkg_path" | sort
dpkg-deb --info "$pkg_path"
dpkg-deb --contents "$pkg_path" | sort
(
cd "$DIST_DIR"