Files
AWG2_harness/tools/README.md
T

1.9 KiB

AWG2 Harness builder

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

Supported host

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

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;
  • --install — установить бинарь + systemd unit (без enable/start);
  • --enable — systemctl enable --now awg2-harness.service;
  • --yes — подтверждение системных изменений (apt/rustup);
  • --skip-fmt — пропустить cargo fmt --check;
  • --help — справка.

Typical build machine flow

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

Typical production host flow

./tools/build.sh --prepare-runtime-env --yes
install -d -m 0755 /etc/awg2-harness
install -m 0644 config.toml /etc/awg2-harness/config.toml
./tools/build.sh
./tools/build.sh --install
./tools/build.sh --enable

What the script intentionally does not do

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