Полный production-рефакторинг билдера, drift-reconcile и документации по up5
This commit is contained in:
@@ -15,15 +15,14 @@ peer_ipv4_cidr = "10.8.1.0/24"
|
||||
enabled = true
|
||||
peer_limit = "70mbit"
|
||||
root_rate = "1000mbit"
|
||||
reconcile_interval_secs = 60
|
||||
container_ready_timeout_secs = 30
|
||||
reconcile_interval_secs = 15
|
||||
container_ready_timeout_secs = 120
|
||||
class_start_id = 10
|
||||
ifb_name = "ifb0"
|
||||
full_rebuild_on_drift = true
|
||||
|
||||
[anti_torrent]
|
||||
enabled = true
|
||||
max_connections_per_peer = 200
|
||||
max_connections_per_peer = 100
|
||||
peer_ipv4_cidr = "10.8.1.0/24"
|
||||
apply_in_amnezia_netns = true
|
||||
|
||||
@@ -62,7 +61,7 @@ swappiness = 1
|
||||
|
||||
`traffic.ifb_name` — имя IFB-интерфейса для ingress shaping. В старой системе это `ifb0`. Этот параметр можно оставить в конфиге, потому что бинарь реально создаёт/удаляет этот интерфейс.
|
||||
|
||||
`traffic.full_rebuild_on_drift` — безопасная v1-модель: при drift удалить owned topology и собрать заново.
|
||||
При drift orchestrator всегда делает controlled rebuild owned topology.
|
||||
|
||||
`anti_torrent.enabled` — включает nftables connection-count guard против high-peer-count P2P-нагрузки. Это новое расширение, не часть old bash.
|
||||
|
||||
|
||||
@@ -236,11 +236,8 @@ reconcile_traffic():
|
||||
return NoChange
|
||||
|
||||
if drift.exists:
|
||||
if config.traffic.full_rebuild_on_drift:
|
||||
teardown_owned_topology(target, desired)
|
||||
apply_full_topology(target, desired)
|
||||
else:
|
||||
apply_incremental_fix(drift)
|
||||
teardown_owned_topology(target, desired)
|
||||
apply_full_topology(target, desired)
|
||||
verify_after_apply(target, desired)
|
||||
|
||||
if firewall_drift.exists:
|
||||
@@ -248,7 +245,7 @@ reconcile_traffic():
|
||||
verify_firewall_after_apply(target, firewall_desired)
|
||||
```
|
||||
|
||||
For v1, `full_rebuild_on_drift = true` is the safer default.
|
||||
For production v1, controlled full rebuild on drift is the only supported path.
|
||||
|
||||
Parser hardening requirements:
|
||||
|
||||
|
||||
+2
-12
@@ -31,6 +31,7 @@ nft
|
||||
Сборку лучше выполнять на отдельной build-машине с тем же целевым ABI.
|
||||
|
||||
```bash
|
||||
./tools/build.sh --prepare-build-env --bootstrap-rust --yes
|
||||
./tools/build.sh
|
||||
```
|
||||
|
||||
@@ -150,15 +151,4 @@ awg2-harness status --config /etc/awg2-harness/config.toml
|
||||
|
||||
## 9. Rollback
|
||||
|
||||
Если нужно временно вернуться к old bash:
|
||||
|
||||
```bash
|
||||
systemctl stop awg2-harness.service
|
||||
systemctl disable awg2-harness.service
|
||||
# вернуть /opt/amnezia/limit_peers.sh и /opt/amnezia/docker_watcher.sh
|
||||
# вернуть amnezia-tc.service и amnezia-tc-watcher.service
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now amnezia-tc.service amnezia-tc-watcher.service
|
||||
```
|
||||
|
||||
Rollback должен быть проверен до первой production-выкладки.
|
||||
Production-путь AWG2 Harness не включает возврат к old bash в штатный процесс выкладки.
|
||||
|
||||
+3
-4
@@ -183,15 +183,14 @@ peer_ipv4_cidr = "10.8.1.0/24"
|
||||
enabled = true
|
||||
peer_limit = "70mbit"
|
||||
root_rate = "1000mbit"
|
||||
reconcile_interval_secs = 60
|
||||
container_ready_timeout_secs = 30
|
||||
reconcile_interval_secs = 15
|
||||
container_ready_timeout_secs = 120
|
||||
class_start_id = 10
|
||||
ifb_name = "ifb0"
|
||||
full_rebuild_on_drift = true
|
||||
|
||||
[anti_torrent]
|
||||
enabled = true
|
||||
max_connections_per_peer = 200
|
||||
max_connections_per_peer = 100
|
||||
peer_ipv4_cidr = "10.8.1.0/24"
|
||||
apply_in_amnezia_netns = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user