feat: add automatic cluster sync and IPAM discovery with configurable intervals, firewall log file parsing, and enhanced flow prioritization

Add RuntimeSettingsRead/RuntimeSettingsUpdate schemas with auto_node_sync_enabled/auto_node_sync_interval_minutes/auto_ipam_sync_enabled/auto_ipam_sync_interval_minutes/last_node_auto_sync_at/last_ipam_auto_sync_at fields, implement firewall_log_lines_from_files to parse /var/log/pve-firewall.log with max_lines limit and error collection, extend collect_firewall_log
This commit is contained in:
2026-07-10 08:13:40 +02:00
parent 1531b7ea47
commit 67eee0662a
10 changed files with 493 additions and 65 deletions
+11 -1
View File
@@ -173,10 +173,20 @@ class RuntimeSettingsRead(BaseModel):
firewall_apply_requires_preview: bool = True
agent_optional: bool = True
flow_retention_hours: int = 24
auto_node_sync_enabled: bool = False
auto_node_sync_interval_minutes: int = 60
auto_ipam_sync_enabled: bool = False
auto_ipam_sync_interval_minutes: int = 60
last_node_auto_sync_at: datetime | None = None
last_ipam_auto_sync_at: datetime | None = None
class RuntimeSettingsUpdate(BaseModel):
flow_retention_hours: int = Field(ge=1, le=8760)
flow_retention_hours: int | None = Field(default=None, ge=1, le=8760)
auto_node_sync_enabled: bool | None = None
auto_node_sync_interval_minutes: int | None = Field(default=None, ge=1, le=10080)
auto_ipam_sync_enabled: bool | None = None
auto_ipam_sync_interval_minutes: int | None = Field(default=None, ge=1, le=10080)
class ClusterRead(OrmModel):