Add new frontend pages for the multi-tenant OCDP platform: - Charts page (/charts): Browse Harbor OCI registries to list Helm chart repositories and versions, with deploy modal to launch charts on selected clusters - Monitoring page (/monitoring): Display cluster metrics (CPU/Memory/GPU usage) and per-node details with resource utilization bars - Chart References page (/chart-references): CRUD for chart metadata references - Values Templates page (/templates): CRUD for Helm values templates with version history and rollback support - Sidebar: Add Charts navigation, update Storage and Templates links - api.ts: Add all API client functions (clusterApi, registryApi, instanceApi, monitoringApi, storageApi, chartReferenceApi, valuesTemplateApi, workspaceApi, userApi) with full TypeScript types Note: deploy flow and values template rollback not yet end-to-end tested.
73 lines
2.2 KiB
Go
73 lines
2.2 KiB
Go
package dto
|
|
|
|
// CreateStorageRequest 创建存储后端请求
|
|
type CreateStorageRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
Type string `json:"type" binding:"required"` // nfs, pv, hostPath
|
|
Description string `json:"description"`
|
|
IsDefault bool `json:"is_default"`
|
|
IsShared bool `json:"is_shared"`
|
|
|
|
// NFS 配置
|
|
NFS NFSConfigDTO `json:"nfs,omitempty"`
|
|
// PV 配置
|
|
PV PVConfigDTO `json:"pv,omitempty"`
|
|
// HostPath 配置
|
|
HostPath HostPathConfigDTO `json:"hostPath,omitempty"`
|
|
}
|
|
|
|
// UpdateStorageRequest 更新存储后端请求
|
|
type UpdateStorageRequest struct {
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
Description string `json:"description"`
|
|
IsDefault bool `json:"is_default"`
|
|
IsShared bool `json:"is_shared"`
|
|
|
|
// NFS 配置
|
|
NFS NFSConfigDTO `json:"nfs,omitempty"`
|
|
// PV 配置
|
|
PV PVConfigDTO `json:"pv,omitempty"`
|
|
// HostPath 配置
|
|
HostPath HostPathConfigDTO `json:"hostPath,omitempty"`
|
|
}
|
|
|
|
// NFSConfigDTO NFS 配置
|
|
type NFSConfigDTO struct {
|
|
Server string `json:"server"`
|
|
Path string `json:"path"`
|
|
}
|
|
|
|
// PVConfigDTO PV 配置
|
|
type PVConfigDTO struct {
|
|
StorageClassName string `json:"storageClassName"`
|
|
Capacity string `json:"capacity"`
|
|
AccessModes []string `json:"accessModes"`
|
|
}
|
|
|
|
// HostPathConfigDTO HostPath 配置
|
|
type HostPathConfigDTO struct {
|
|
Path string `json:"path"`
|
|
}
|
|
|
|
// StorageResponse 存储后端响应
|
|
type StorageResponse struct {
|
|
ID string `json:"id"`
|
|
WorkspaceID string `json:"workspace_id,omitempty"`
|
|
OwnerID string `json:"owner_id,omitempty"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
Config StorageConfigDTO `json:"config"`
|
|
Description string `json:"description"`
|
|
IsDefault bool `json:"is_default"`
|
|
IsShared bool `json:"is_shared"`
|
|
CreatedAt string `json:"createdAt"`
|
|
UpdatedAt string `json:"updatedAt"`
|
|
}
|
|
|
|
// StorageConfigDTO 存储配置(脱敏后)
|
|
type StorageConfigDTO struct {
|
|
NFS *NFSConfigDTO `json:"nfs,omitempty"`
|
|
PV *PVConfigDTO `json:"pv,omitempty"`
|
|
HostPath *HostPathConfigDTO `json:"hostPath,omitempty"`
|
|
} |