feat: 新增「部署客户端」日志采集器模块
三种采集器(host-promtail / k8s-daemonset / k8s-fluentbit-sidecar),每种关联已部署 Loki: - host-promtail:SSH 安装 Promtail(复用 deployBinary) - k8s-daemonset:helm 安装 Promtail DaemonSet(复用 deployHelm) - k8s-fluentbit-sidecar:kubectl patch 注入 Fluent Bit sidecar 含 Collector 数据模型、三个部署器、配置模板、CRUD API、前端页面。 附带 UI 优化:ErrorBoundary、部署卡片浏览器访问按钮、菜单名称调整。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
2a93de600d
commit
673b2c60c8
17 files changed
+1442
-4
No files matched your search
@@ -28,6 +28,7 @@ func SetupRouter() *gin.Engine {
|
||||
hostCtrl := controllers.NewHostController()
|
||||
storageCtrl := controllers.NewStorageController()
|
||||
deploymentCtrl := controllers.NewDeploymentController()
|
||||
collectorCtrl := controllers.NewCollectorController()
|
||||
|
||||
// API v1
|
||||
api := r.Group("/api/v1")
|
||||
@@ -83,6 +84,15 @@ func SetupRouter() *gin.Engine {
|
||||
authorized.GET("/deployments/:id/logs", deploymentCtrl.GetLogs)
|
||||
authorized.GET("/deployments/stats", deploymentCtrl.GetStats)
|
||||
|
||||
// Collectors(日志采集器 / 部署客户端)
|
||||
authorized.GET("/collectors", collectorCtrl.List)
|
||||
authorized.GET("/collectors/:id", collectorCtrl.Get)
|
||||
authorized.POST("/collectors", collectorCtrl.Create)
|
||||
authorized.PUT("/collectors/:id", collectorCtrl.Update)
|
||||
authorized.DELETE("/collectors/:id", collectorCtrl.Delete)
|
||||
authorized.POST("/collectors/:id/install", collectorCtrl.Install)
|
||||
authorized.POST("/collectors/:id/uninstall", collectorCtrl.Uninstall)
|
||||
|
||||
// Static files - use executable directory as base
|
||||
distPath := findDistPath()
|
||||
|
||||
|
||||
Reference in new issue
Block a user