7a4e9764b1
- Полностью переписан 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
79 lines
2.2 KiB
Markdown
79 lines
2.2 KiB
Markdown
# Installation
|
||
|
||
## Deployment contract
|
||
|
||
- Build выполняется на отдельной Debian 13 amd64 build-machine.
|
||
- Production-хост получает готовый Debian-пакет.
|
||
- На production-хосте не требуются Rust/cargo/source tree.
|
||
- Amnezia должна быть уже установлена и работать через Docker.
|
||
- Production-конфиг создаётся вручную; [`config.example.toml`](../config.example.toml) не копируется автоматически как боевой конфиг.
|
||
|
||
## A. Build machine
|
||
|
||
### A1. Подготовка build environment
|
||
|
||
```bash
|
||
./tools/build.sh --prepare-build-env --bootstrap-rust --yes
|
||
```
|
||
|
||
### A2. Build и тесты
|
||
|
||
```bash
|
||
./tools/build.sh --build
|
||
```
|
||
|
||
### A3. Сборка пакета
|
||
|
||
```bash
|
||
./tools/build.sh --package
|
||
sha256sum -c dist/SHA256SUMS
|
||
```
|
||
|
||
## B. Transfer artifacts
|
||
|
||
```bash
|
||
scp dist/awg2-harness_*_amd64.deb root@vpn-host:/root/
|
||
scp config.toml root@vpn-host:/root/awg2-harness.config.toml
|
||
```
|
||
|
||
## C. Production host
|
||
|
||
### C1. Install package
|
||
|
||
```bash
|
||
apt install ./awg2-harness_*_amd64.deb
|
||
```
|
||
|
||
### C2. Install config
|
||
|
||
```bash
|
||
install -d -m 0755 /etc/awg2-harness
|
||
install -m 0644 /root/awg2-harness.config.toml /etc/awg2-harness/config.toml
|
||
```
|
||
|
||
### C3. Validate and apply
|
||
|
||
```bash
|
||
awg2-harness --config /etc/awg2-harness/config.toml validate-config
|
||
awg2-harness --config /etc/awg2-harness/config.toml validate-runtime
|
||
awg2-harness --config /etc/awg2-harness/config.toml ensure-swap
|
||
awg2-harness --config /etc/awg2-harness/config.toml apply-limits
|
||
awg2-harness --config /etc/awg2-harness/config.toml apply-firewall
|
||
awg2-harness --config /etc/awg2-harness/config.toml status
|
||
```
|
||
|
||
When `swap.enabled=true`, AWG2 Harness will disable all other active swap entries and rewrite `/etc/fstab` swap entries to a single managed swapfile.
|
||
|
||
### C4. Enable services
|
||
|
||
```bash
|
||
systemctl enable --now awg2-harness.service
|
||
systemctl enable --now awg2-reboot-scheduler.service
|
||
```
|
||
|
||
## D. Manual source-tree install (staging/debug only)
|
||
|
||
Режим [`./tools/build.sh --install`](../tools/build.sh) предназначен для staging/debug с checkout-репозиторием.
|
||
|
||
Это **не** основной production deployment path.
|