初步支持KVM

This commit is contained in:
MengMengCode
2026-06-07 09:24:09 +08:00
parent 422e48b524
commit 6dd7079e23
22 changed files with 2986 additions and 192 deletions
+11 -5
View File
@@ -9,6 +9,7 @@ import (
"clicd/internal/api"
"clicd/internal/cli"
"clicd/internal/config"
"clicd/internal/kvm"
"clicd/internal/lxc"
"clicd/internal/server"
@@ -50,18 +51,23 @@ func main() {
// Start security scanner
api.InitScanner()
// Ensure iptables FORWARD rules allow LXC traffic
lxc.EnsureForwardRules()
// Ensure iptables FORWARD rules allow managed bridge traffic.
lxc.EnsureForwardRules("lxcbr0")
lxc.EnsureForwardRules("virbr0")
// Start expiry scanner (stops expired containers every 30s)
// Start expiry scanners (stops expired/over-traffic workloads every 30s)
manager := lxc.NewManager()
kvmManager := kvm.NewManager()
manager.StartExpiryScanner()
kvmManager.StartExpiryScanner()
// Start usage monitor (computes CPU/network/disk rates every 5s)
// Start usage monitors (computes CPU/network/disk rates every 5s)
manager.StartUsageMonitor()
kvmManager.StartUsageMonitor()
// Start scheduled snapshot scanner.
// Start scheduled snapshot scanners.
manager.StartSnapshotScheduler()
kvmManager.StartSnapshotScheduler()
// Clean up stale container configs (LXC dir was deleted but config remains)
config.CleanStaleContainers()