Go(Gin) + React(Vite + shadcn/ui + Tailwind) 前后端分离,全中文 UI - 集群管理:Kubeconfig / Token 双接入,kubectl + helm 部署 - 主机管理:SSH 密钥 / 密码双认证,CPU/内存/磁盘使用率监控,SSH 错误中文友好提示 - 存储配置、部署管理、系统设置 - Docker 镜像内置 kubectl + helm,开箱即用 - run.sh 一键启停(start/stop/restart/status) Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
import { request } from './client';
|
|
import type { PageData, LokiDeployment, DeploymentLog, DashboardStats, CreateDeploymentRequest } from '@/types';
|
|
|
|
export const deploymentApi = {
|
|
list: (page = 1, pageSize = 10) =>
|
|
request<PageData<LokiDeployment>>(`/deployments?page=${page}&pageSize=${pageSize}`),
|
|
|
|
get: (id: number) => request<LokiDeployment>(`/deployments/${id}`),
|
|
|
|
create: (data: CreateDeploymentRequest) =>
|
|
request<LokiDeployment>('/deployments', { method: 'POST', body: JSON.stringify(data) }),
|
|
|
|
update: (id: number, data: Record<string, unknown>) =>
|
|
request<{ message: string }>(`/deployments/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
|
|
|
|
remove: (id: number) => request<{ message: string }>(`/deployments/${id}`, { method: 'DELETE' }),
|
|
|
|
deploy: (id: number) => request<{ message: string }>(`/deployments/${id}/deploy`, { method: 'POST' }),
|
|
|
|
stop: (id: number) => request<{ message: string }>(`/deployments/${id}/stop`, { method: 'POST' }),
|
|
|
|
restart: (id: number) => request<{ message: string }>(`/deployments/${id}/restart`, { method: 'POST' }),
|
|
|
|
logs: (id: number, page = 1, pageSize = 50) =>
|
|
request<PageData<DeploymentLog>>(`/deployments/${id}/logs?page=${page}&pageSize=${pageSize}`),
|
|
|
|
stats: () => request<DashboardStats>('/deployments/stats'),
|
|
};
|