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:
Logan.LiandClaude committed 2026-06-29 19:26:41 +08:00
1 parent 2a93de600d
commit 673b2c60c8
17 files changed
+1442 -4

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
import { request } from './client';
import type { PageData, Collector, CreateCollectorRequest } from '@/types';
export const collectorApi = {
list: (page = 1, pageSize = 100) =>
request<PageData<Collector>>(`/collectors?page=${page}&pageSize=${pageSize}`),
get: (id: number) => request<Collector>(`/collectors/${id}`),
create: (data: CreateCollectorRequest) =>
request<Collector>('/collectors', { method: 'POST', body: JSON.stringify(data) }),
remove: (id: number) => request<{ message: string }>(`/collectors/${id}`, { method: 'DELETE' }),
install: (id: number) =>
request<{ message: string }>(`/collectors/${id}/install`, { method: 'POST' }),
uninstall: (id: number) =>
request<{ message: string }>(`/collectors/${id}/uninstall`, { method: 'POST' }),
};
+1
View File
@@ -4,3 +4,4 @@ export { clusterApi } from './cluster';
export { hostApi } from './host';
export { storageApi } from './storage';
export { deploymentApi } from './deployment';
export { collectorApi } from './collector';