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.
30 lines
1000 B
Go
30 lines
1000 B
Go
package repository
|
|
|
|
import (
|
|
"context"
|
|
"github.com/ocdp/cluster-service/internal/domain/entity"
|
|
)
|
|
|
|
// QuotaRepository 配额仓储接口
|
|
type QuotaRepository interface {
|
|
// Create 创建配额
|
|
Create(ctx context.Context, quota *entity.WorkspaceQuota) error
|
|
|
|
// GetByID 根据 ID 获取配额
|
|
GetByID(ctx context.Context, id string) (*entity.WorkspaceQuota, error)
|
|
|
|
// GetByWorkspaceAndType 根据 workspace 和资源类型获取配额
|
|
GetByWorkspaceAndType(ctx context.Context, workspaceID string, resourceType entity.ResourceType) (*entity.WorkspaceQuota, error)
|
|
|
|
// GetByWorkspace 获取 workspace 的所有配额
|
|
GetByWorkspace(ctx context.Context, workspaceID string) ([]*entity.WorkspaceQuota, error)
|
|
|
|
// Update 更新配额
|
|
Update(ctx context.Context, quota *entity.WorkspaceQuota) error
|
|
|
|
// Delete 删除配额
|
|
Delete(ctx context.Context, id string) error
|
|
|
|
// DeleteByWorkspace 删除 workspace 的所有配额
|
|
DeleteByWorkspace(ctx context.Context, workspaceID string) error
|
|
} |