Реализован production-модуль sysctl_tuning и полная интеграция fix33

Добавлен отдельный host-level модуль sysctl_tuning без легаси-подходов: managed sysctl файл, точечный reconcile через sysctl -w только для drifted ключей, режимы tcp_bbr off/auto/require, безопасное удаление только managed-файла и атомарная запись конфигурации.

Интегрированы новые CLI-команды apply-network-tuning/inspect-network-tuning, startup reconcile в daemon и секция Network tuning в status. Расширены config/defaults/валидация, обновлен пример конфига и документация. Добавлены unit-тесты для config и sysctl_tuning.
This commit is contained in:
2026-05-28 11:31:13 +05:00
parent 4ff2bb2c30
commit 2c27bff800
13 changed files with 719 additions and 79 deletions
+16 -1
View File
@@ -1,4 +1,6 @@
use crate::{config::Config, docker, firewall, netns::build_transport, swap, traffic, wg};
use crate::{
config::Config, docker, firewall, netns::build_transport, swap, sysctl_tuning, traffic, wg,
};
use std::{
collections::BTreeMap,
@@ -20,6 +22,8 @@ pub fn print_status(cfg: &Config) -> anyhow::Result<()> {
Err(_) => println!(" service: unknown"),
}
print_network_tuning_status(cfg);
let target = match docker::discover_target(cfg) {
Ok(t) => t,
Err(e) => {
@@ -270,6 +274,17 @@ pub fn print_status(cfg: &Config) -> anyhow::Result<()> {
Ok(())
}
fn print_network_tuning_status(cfg: &Config) {
match sysctl_tuning::inspect_sysctl_tuning(cfg) {
Ok(s) => sysctl_tuning::print_sysctl_tuning_status(&s),
Err(e) => {
println!("Network tuning:");
println!(" enabled: {}", cfg.sysctl_tuning.enabled);
println!(" drift: unknown ({e})");
}
}
}
fn print_degraded_sections(cfg: &Config) -> anyhow::Result<()> {
println!("Peers:");
println!(" unavailable (container/netns not discovered)");