Files
AWG2_harness/tools
founder 7a4e9764b1 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
2026-05-11 17:30:15 +05:00
..

AWG2 Harness builder

Основной скрипт: build.sh.
Целевой crate: traffic_core.
Unit: awg2-harness.service.
Пример конфига: config.example.toml.

Supported host

  • Debian/Ubuntu (apt-based)
  • amd64/x86_64

Purpose

Скрипт используется на build-machine для проверки, сборки и упаковки AWG2 Harness.

Default mode

./tools/build.sh

Дефолтный запуск не изменяет систему. Он:

  • проверяет prereqs;
  • запускает fmt/clippy/test/build в locked-режиме;
  • печатает file, ldd, sha256 для собранного бинаря.

Flags

  • --prepare-build-env — установить недостающие build-пакеты;
  • --prepare-runtime-env — установить недостающие runtime-пакеты;
  • --bootstrap-rust — установить rustup и pinned toolchain;
  • --build — запустить build gate явно;
  • --package — собрать Debian-пакет в dist/;
  • --dist-dir <path> — директория для release artifacts;
  • --version <version> — переопределить версию пакета;
  • --install — установить бинарь + systemd unit (без enable/start);
  • --enable — systemctl enable --now awg2-harness.service;
  • --yes — подтверждение системных изменений (apt/rustup);
  • --skip-fmt — пропустить cargo fmt --check;
  • --help — справка.

Build machine flow

./tools/build.sh --prepare-build-env --bootstrap-rust --yes
./tools/build.sh --build
./tools/build.sh --package

Production host flow

В нормальном production deployment не нужно клонировать репозиторий на целевой хост. Ставится сгенерированный пакет:

apt install ./awg2-harness_*_amd64.deb

Manual source-tree install

--install и --enable оставлены для staging/debug из checked-out source tree.

Это не рекомендуемый production path.

What the script intentionally does not do

  • не устанавливает Docker автоматически;
  • не генерирует production config из example;
  • не включает сервис без явного --enable;
  • не управляет установкой AmneziaWG.