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.
69 lines
2.7 KiB
Go
69 lines
2.7 KiB
Go
package entity
|
|
|
|
import "errors"
|
|
|
|
// 领域错误定义
|
|
var (
|
|
// User errors
|
|
ErrInvalidUsername = errors.New("invalid username")
|
|
ErrInvalidPassword = errors.New("invalid password")
|
|
ErrUserNotFound = errors.New("user not found")
|
|
ErrUserExists = errors.New("user already exists")
|
|
ErrTokenRevoked = errors.New("token has been revoked")
|
|
|
|
// Cluster errors
|
|
ErrInvalidClusterName = errors.New("invalid cluster name")
|
|
ErrInvalidClusterHost = errors.New("invalid cluster host")
|
|
ErrInvalidClusterAuth = errors.New("invalid cluster authentication config")
|
|
ErrClusterNotFound = errors.New("cluster not found")
|
|
ErrClusterExists = errors.New("cluster already exists")
|
|
|
|
// Registry errors
|
|
ErrInvalidRegistryName = errors.New("invalid registry name")
|
|
ErrInvalidRegistryURL = errors.New("invalid registry URL")
|
|
ErrRegistryNotFound = errors.New("registry not found")
|
|
ErrRegistryExists = errors.New("registry already exists")
|
|
|
|
// Instance errors
|
|
ErrInvalidClusterID = errors.New("invalid cluster ID")
|
|
ErrInvalidInstanceName = errors.New("invalid instance name")
|
|
ErrInvalidNamespace = errors.New("invalid namespace")
|
|
ErrInvalidChart = errors.New("invalid chart name")
|
|
ErrInvalidVersion = errors.New("invalid version")
|
|
ErrInstanceNotFound = errors.New("instance not found")
|
|
ErrInstanceExists = errors.New("instance already exists")
|
|
|
|
// Artifact errors
|
|
ErrArtifactNotFound = errors.New("artifact not found")
|
|
ErrRepositoryNotFound = errors.New("repository not found")
|
|
ErrValuesSchemaNotFound = errors.New("values schema not found")
|
|
ErrValuesNotFound = errors.New("values not found")
|
|
|
|
// Workspace errors
|
|
ErrInvalidWorkspaceName = errors.New("invalid workspace name")
|
|
ErrWorkspaceNotFound = errors.New("workspace not found")
|
|
ErrWorkspaceExists = errors.New("workspace already exists")
|
|
|
|
// Quota errors
|
|
ErrQuotaExceeded = errors.New("quota exceeded")
|
|
ErrInvalidQuota = errors.New("invalid quota")
|
|
|
|
// Storage errors
|
|
ErrInvalidStorageName = errors.New("invalid storage name")
|
|
ErrStorageNotFound = errors.New("storage not found")
|
|
ErrStorageExists = errors.New("storage already exists")
|
|
|
|
// Chart Reference errors
|
|
ErrInvalidChartReferenceName = errors.New("invalid chart reference name")
|
|
ErrChartReferenceNotFound = errors.New("chart reference not found")
|
|
ErrChartReferenceExists = errors.New("chart reference already exists")
|
|
|
|
// Template errors
|
|
ErrInvalidTemplateName = errors.New("invalid template name")
|
|
ErrTemplateNotFound = errors.New("template not found")
|
|
ErrTemplateExists = errors.New("template already exists")
|
|
|
|
// Permission errors
|
|
ErrPermissionDenied = errors.New("permission denied")
|
|
)
|