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.
46 lines
1.6 KiB
Go
46 lines
1.6 KiB
Go
package dto
|
|
|
|
// CreateRegistryRequest 创建 Registry 请求
|
|
type CreateRegistryRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
URL string `json:"url" binding:"required"`
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
Description string `json:"description"`
|
|
Insecure bool `json:"insecure"`
|
|
}
|
|
|
|
// UpdateRegistryRequest 更新 Registry 请求
|
|
type UpdateRegistryRequest struct {
|
|
Name string `json:"name"`
|
|
URL string `json:"url"`
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
Description string `json:"description"`
|
|
Insecure bool `json:"insecure"`
|
|
}
|
|
|
|
// RegistryResponse Registry 响应(敏感数据已脱敏)
|
|
type RegistryResponse struct {
|
|
ID string `json:"id"`
|
|
WorkspaceID string `json:"workspace_id,omitempty"`
|
|
OwnerID string `json:"owner_id,omitempty"`
|
|
Name string `json:"name"`
|
|
URL string `json:"url"`
|
|
Description string `json:"description"`
|
|
Username string `json:"username,omitempty"` // 明文返回用户名(不敏感)
|
|
Password string `json:"password,omitempty"` // 脱敏显示(••••••••)
|
|
HasPassword bool `json:"hasPassword"` // 是否已设置密码
|
|
IsShared bool `json:"is_shared"`
|
|
Insecure bool `json:"insecure"`
|
|
CreatedAt string `json:"createdAt"`
|
|
UpdatedAt string `json:"updatedAt"`
|
|
}
|
|
|
|
// RegistryHealthResponse Registry 健康状态响应
|
|
type RegistryHealthResponse struct {
|
|
Healthy bool `json:"healthy"`
|
|
Message string `json:"message,omitempty"`
|
|
}
|
|
|