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.
1976 lines
53 KiB
YAML
1976 lines
53 KiB
YAML
basePath: /api/v1
|
||
definitions:
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ArtifactResponse:
|
||
properties:
|
||
createdAt:
|
||
type: string
|
||
digest:
|
||
type: string
|
||
repositoryName:
|
||
type: string
|
||
size:
|
||
type: integer
|
||
tag:
|
||
type: string
|
||
type:
|
||
description: chart | image | other
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.AuthResponse:
|
||
properties:
|
||
accessToken:
|
||
type: string
|
||
refreshToken:
|
||
type: string
|
||
userId:
|
||
type: string
|
||
username:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ChangePasswordRequest:
|
||
properties:
|
||
new_password:
|
||
minLength: 6
|
||
type: string
|
||
old_password:
|
||
type: string
|
||
required:
|
||
- new_password
|
||
- old_password
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ChangeUserWorkspaceRequest:
|
||
properties:
|
||
workspace_id:
|
||
type: string
|
||
required:
|
||
- workspace_id
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterHealthResponse:
|
||
properties:
|
||
healthy:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
version:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterMetricsResponse:
|
||
properties:
|
||
clusterId:
|
||
type: string
|
||
clusterName:
|
||
type: string
|
||
cpuUsage:
|
||
type: number
|
||
gpuUsage:
|
||
type: number
|
||
lastCheck:
|
||
type: string
|
||
maxNodeCpu:
|
||
type: string
|
||
maxNodeCpuUsage:
|
||
type: number
|
||
maxNodeGpu:
|
||
type: integer
|
||
maxNodeGpuUsage:
|
||
type: number
|
||
maxNodeMemUsage:
|
||
type: number
|
||
maxNodeMemory:
|
||
type: string
|
||
memoryUsage:
|
||
type: number
|
||
nodeCount:
|
||
type: integer
|
||
nodes:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse'
|
||
type: array
|
||
podCount:
|
||
type: integer
|
||
status:
|
||
type: string
|
||
totalCpu:
|
||
type: string
|
||
totalGpu:
|
||
type: integer
|
||
totalMemory:
|
||
type: string
|
||
uptime:
|
||
type: string
|
||
usedCpu:
|
||
type: string
|
||
usedGpu:
|
||
type: integer
|
||
usedMemory:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse:
|
||
properties:
|
||
caData:
|
||
description: 脱敏数据(仅用于前端显示,实际值为掩码)
|
||
type: string
|
||
certData:
|
||
description: 脱敏显示(••••••••)
|
||
type: string
|
||
createdAt:
|
||
type: string
|
||
defaultNamespace:
|
||
description: 默认 namespace 前缀
|
||
type: string
|
||
description:
|
||
type: string
|
||
hasCaData:
|
||
description: 认证配置状态(不返回实际证书数据,仅返回是否已配置)
|
||
type: boolean
|
||
hasCertData:
|
||
type: boolean
|
||
hasKeyData:
|
||
type: boolean
|
||
hasToken:
|
||
type: boolean
|
||
host:
|
||
type: string
|
||
id:
|
||
type: string
|
||
isShared:
|
||
description: 是否为共享集群
|
||
type: boolean
|
||
isolationMode:
|
||
description: '''namespace'' | ''cluster'''
|
||
type: string
|
||
keyData:
|
||
description: 脱敏显示(••••••••)
|
||
type: string
|
||
name:
|
||
type: string
|
||
ownerId:
|
||
type: string
|
||
token:
|
||
description: 脱敏显示(••••••••)
|
||
type: string
|
||
updatedAt:
|
||
type: string
|
||
workspaceId:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateClusterRequest:
|
||
properties:
|
||
ca_data:
|
||
type: string
|
||
caData:
|
||
type: string
|
||
cert_data:
|
||
type: string
|
||
certData:
|
||
type: string
|
||
defaultNamespace:
|
||
description: 默认 namespace 前缀
|
||
type: string
|
||
description:
|
||
type: string
|
||
host:
|
||
type: string
|
||
isShared:
|
||
description: 是否为共享集群
|
||
type: boolean
|
||
isolationMode:
|
||
description: '''namespace'' | ''cluster'''
|
||
type: string
|
||
key_data:
|
||
type: string
|
||
keyData:
|
||
type: string
|
||
name:
|
||
type: string
|
||
token:
|
||
type: string
|
||
required:
|
||
- host
|
||
- name
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateInstanceRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
name:
|
||
type: string
|
||
namespace:
|
||
type: string
|
||
registry_id:
|
||
type: string
|
||
registryId:
|
||
type: string
|
||
repository:
|
||
type: string
|
||
tag:
|
||
type: string
|
||
values:
|
||
additionalProperties: true
|
||
type: object
|
||
valuesYaml:
|
||
type: string
|
||
required:
|
||
- name
|
||
- namespace
|
||
- registryId
|
||
- repository
|
||
- tag
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateRegistryRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
insecure:
|
||
type: boolean
|
||
name:
|
||
type: string
|
||
password:
|
||
type: string
|
||
url:
|
||
type: string
|
||
username:
|
||
type: string
|
||
required:
|
||
- name
|
||
- url
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateUserRequest:
|
||
properties:
|
||
email:
|
||
type: string
|
||
password:
|
||
minLength: 6
|
||
type: string
|
||
role:
|
||
enum:
|
||
- admin
|
||
- user
|
||
type: string
|
||
username:
|
||
type: string
|
||
workspace_id:
|
||
type: string
|
||
required:
|
||
- password
|
||
- role
|
||
- username
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateWorkspaceRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
name:
|
||
type: string
|
||
required:
|
||
- name
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse:
|
||
properties:
|
||
code:
|
||
type: integer
|
||
error:
|
||
type: string
|
||
message:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryHostResponse:
|
||
properties:
|
||
host:
|
||
type: string
|
||
paths:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPathResponse'
|
||
type: array
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPathResponse:
|
||
properties:
|
||
path:
|
||
type: string
|
||
serviceName:
|
||
type: string
|
||
servicePort:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPortResponse:
|
||
properties:
|
||
name:
|
||
type: string
|
||
nodePort:
|
||
type: integer
|
||
port:
|
||
type: integer
|
||
protocol:
|
||
type: string
|
||
targetPort:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryResponse:
|
||
properties:
|
||
clusterIP:
|
||
type: string
|
||
externalIPs:
|
||
items:
|
||
type: string
|
||
type: array
|
||
hosts:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryHostResponse'
|
||
type: array
|
||
kind:
|
||
type: string
|
||
loadBalancerIngress:
|
||
items:
|
||
type: string
|
||
type: array
|
||
name:
|
||
type: string
|
||
namespace:
|
||
type: string
|
||
ports:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPortResponse'
|
||
type: array
|
||
tls:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryTLSResponse'
|
||
type: array
|
||
type:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryTLSResponse:
|
||
properties:
|
||
hosts:
|
||
items:
|
||
type: string
|
||
type: array
|
||
secretName:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceListResponse:
|
||
properties:
|
||
instances:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse'
|
||
type: array
|
||
total:
|
||
type: integer
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse:
|
||
properties:
|
||
chart:
|
||
type: string
|
||
clusterId:
|
||
type: string
|
||
createdAt:
|
||
type: string
|
||
description:
|
||
type: string
|
||
id:
|
||
type: string
|
||
lastError:
|
||
type: string
|
||
lastOperation:
|
||
type: string
|
||
name:
|
||
type: string
|
||
namespace:
|
||
type: string
|
||
registryId:
|
||
type: string
|
||
repository:
|
||
type: string
|
||
revision:
|
||
type: integer
|
||
status:
|
||
type: string
|
||
statusReason:
|
||
type: string
|
||
updatedAt:
|
||
type: string
|
||
values:
|
||
additionalProperties: true
|
||
type: object
|
||
version:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.LoginRequest:
|
||
properties:
|
||
password:
|
||
type: string
|
||
username:
|
||
type: string
|
||
required:
|
||
- password
|
||
- username
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.MonitoringSummaryResponse:
|
||
properties:
|
||
errorClusters:
|
||
type: integer
|
||
healthyClusters:
|
||
type: integer
|
||
lastUpdate:
|
||
type: string
|
||
totalClusters:
|
||
type: integer
|
||
totalNodes:
|
||
type: integer
|
||
totalPods:
|
||
type: integer
|
||
warningClusters:
|
||
type: integer
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse:
|
||
properties:
|
||
age:
|
||
type: string
|
||
containerRuntime:
|
||
type: string
|
||
cpuAllocatable:
|
||
type: string
|
||
cpuCapacity:
|
||
type: string
|
||
cpuPercent:
|
||
type: number
|
||
cpuUsage:
|
||
type: string
|
||
gpuCapacity:
|
||
type: integer
|
||
gpuPercent:
|
||
type: number
|
||
gpuType:
|
||
type: string
|
||
gpuUsage:
|
||
type: integer
|
||
kernelVersion:
|
||
type: string
|
||
kubeletVersion:
|
||
type: string
|
||
memoryAllocatable:
|
||
type: string
|
||
memoryCapacity:
|
||
type: string
|
||
memoryPercent:
|
||
type: number
|
||
memoryUsage:
|
||
type: string
|
||
nodeName:
|
||
type: string
|
||
osImage:
|
||
type: string
|
||
podCount:
|
||
type: integer
|
||
role:
|
||
type: string
|
||
status:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaDTO:
|
||
properties:
|
||
hard_limit:
|
||
type: number
|
||
id:
|
||
type: string
|
||
resource_type:
|
||
type: string
|
||
soft_limit:
|
||
type: number
|
||
used:
|
||
type: number
|
||
workspace_id:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaValue:
|
||
properties:
|
||
hard_limit:
|
||
type: number
|
||
soft_limit:
|
||
type: number
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RefreshTokenRequest:
|
||
properties:
|
||
refreshToken:
|
||
type: string
|
||
required:
|
||
- refreshToken
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegisterRequest:
|
||
properties:
|
||
password:
|
||
minLength: 6
|
||
type: string
|
||
username:
|
||
type: string
|
||
required:
|
||
- password
|
||
- username
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryHealthResponse:
|
||
properties:
|
||
healthy:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse:
|
||
properties:
|
||
createdAt:
|
||
type: string
|
||
description:
|
||
type: string
|
||
hasPassword:
|
||
description: 是否已设置密码
|
||
type: boolean
|
||
id:
|
||
type: string
|
||
insecure:
|
||
type: boolean
|
||
name:
|
||
type: string
|
||
password:
|
||
description: 脱敏显示(••••••••)
|
||
type: string
|
||
updatedAt:
|
||
type: string
|
||
url:
|
||
type: string
|
||
username:
|
||
description: 明文返回用户名(不敏感)
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RepositoryListResponse:
|
||
properties:
|
||
catalogSupported:
|
||
description: Whether _catalog API is supported
|
||
type: boolean
|
||
message:
|
||
description: User-friendly message
|
||
type: string
|
||
registryId:
|
||
type: string
|
||
registryUrl:
|
||
type: string
|
||
repositories:
|
||
items:
|
||
type: string
|
||
type: array
|
||
source:
|
||
description: 'Data source: "catalog" | "preconfigured" | "unavailable"'
|
||
type: string
|
||
total:
|
||
type: integer
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ResetPasswordRequest:
|
||
properties:
|
||
new_password:
|
||
minLength: 6
|
||
type: string
|
||
required:
|
||
- new_password
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.SetQuotasRequest:
|
||
properties:
|
||
cpu:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaValue'
|
||
gpu:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaValue'
|
||
gpu_memory:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaValue'
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.SetUserActiveRequest:
|
||
properties:
|
||
is_active:
|
||
type: boolean
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.TagResponse:
|
||
properties:
|
||
mediaType:
|
||
type: string
|
||
repositoryName:
|
||
description: Repository name
|
||
type: string
|
||
size:
|
||
description: Artifact size (bytes)
|
||
type: integer
|
||
tag:
|
||
description: Tag name (e.g. "1.0.0", "latest")
|
||
type: string
|
||
type:
|
||
description: 'Artifact type: chart, image, other'
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateClusterRequest:
|
||
properties:
|
||
ca_data:
|
||
type: string
|
||
caData:
|
||
type: string
|
||
cert_data:
|
||
type: string
|
||
certData:
|
||
type: string
|
||
defaultNamespace:
|
||
type: string
|
||
description:
|
||
type: string
|
||
host:
|
||
type: string
|
||
isShared:
|
||
type: boolean
|
||
isolationMode:
|
||
type: string
|
||
key_data:
|
||
type: string
|
||
keyData:
|
||
type: string
|
||
name:
|
||
type: string
|
||
token:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateInstanceRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
values:
|
||
additionalProperties: true
|
||
type: object
|
||
valuesYaml:
|
||
type: string
|
||
version:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateRegistryRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
insecure:
|
||
type: boolean
|
||
name:
|
||
type: string
|
||
password:
|
||
type: string
|
||
url:
|
||
type: string
|
||
username:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateUserRequest:
|
||
properties:
|
||
email:
|
||
type: string
|
||
is_active:
|
||
type: boolean
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateWorkspaceRequest:
|
||
properties:
|
||
description:
|
||
type: string
|
||
name:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserDTO:
|
||
properties:
|
||
created_at:
|
||
type: string
|
||
email:
|
||
type: string
|
||
id:
|
||
type: string
|
||
is_active:
|
||
type: boolean
|
||
must_change_password:
|
||
type: boolean
|
||
role:
|
||
type: string
|
||
updated_at:
|
||
type: string
|
||
username:
|
||
type: string
|
||
workspace_id:
|
||
type: string
|
||
workspace_name:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserListResponse:
|
||
properties:
|
||
total:
|
||
type: integer
|
||
users:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserDTO'
|
||
type: array
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse:
|
||
properties:
|
||
createdAt:
|
||
type: string
|
||
email:
|
||
type: string
|
||
id:
|
||
type: string
|
||
updatedAt:
|
||
type: string
|
||
username:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ValuesResponse:
|
||
properties:
|
||
values:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ValuesSchemaResponse:
|
||
properties:
|
||
schema:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceDTO:
|
||
properties:
|
||
created_at:
|
||
type: string
|
||
created_by:
|
||
type: string
|
||
description:
|
||
type: string
|
||
id:
|
||
type: string
|
||
name:
|
||
type: string
|
||
updated_at:
|
||
type: string
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceListResponse:
|
||
properties:
|
||
total:
|
||
type: integer
|
||
workspaces:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceDTO'
|
||
type: array
|
||
type: object
|
||
github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceResponse:
|
||
properties:
|
||
quotas:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaDTO'
|
||
type: array
|
||
workspace:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceDTO'
|
||
type: object
|
||
host: localhost:8080
|
||
info:
|
||
contact:
|
||
email: support@ocdp.io
|
||
name: API Support
|
||
description: |-
|
||
OCDP (Open Cloud Development Platform) Backend API
|
||
|
||
RESTful API for managing Kubernetes clusters, OCI registries, and Helm deployments.
|
||
license:
|
||
name: Apache 2.0
|
||
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
||
title: OCDP Backend API
|
||
version: "1.0"
|
||
paths:
|
||
/admin/users:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取所有用户列表(Admin 专用),可按 workspace_id 筛选
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: query
|
||
name: workspace_id
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserListResponse'
|
||
summary: 列出用户
|
||
tags:
|
||
- admin
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 创建新用户(Admin 专用)
|
||
parameters:
|
||
- description: 创建用户请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateUserRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse'
|
||
summary: 创建用户
|
||
tags:
|
||
- admin
|
||
/admin/users/{user_id}:
|
||
delete:
|
||
consumes:
|
||
- application/json
|
||
description: 删除指定用户(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 删除用户
|
||
tags:
|
||
- admin
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取指定用户信息(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse'
|
||
summary: 获取用户
|
||
tags:
|
||
- admin
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 更新用户信息(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
- description: 更新用户请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateUserRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse'
|
||
summary: 更新用户
|
||
tags:
|
||
- admin
|
||
/admin/users/{user_id}/active:
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 设置用户是否启用(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
- description: 启用状态
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.SetUserActiveRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 启用/禁用用户
|
||
tags:
|
||
- admin
|
||
/admin/users/{user_id}/password:
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 重置指定用户的密码(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
- description: 重置密码请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ResetPasswordRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 重置用户密码
|
||
tags:
|
||
- admin
|
||
/admin/users/{user_id}/workspace:
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 将用户分配到指定工作空间(Admin 专用)
|
||
parameters:
|
||
- description: 用户 ID
|
||
in: path
|
||
name: user_id
|
||
required: true
|
||
type: string
|
||
- description: 工作空间分配请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ChangeUserWorkspaceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 分配用户到工作空间
|
||
tags:
|
||
- admin
|
||
/auth/login:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 使用用户名和密码获取访问令牌
|
||
parameters:
|
||
- description: 登录信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.LoginRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.AuthResponse'
|
||
"401":
|
||
description: Unauthorized
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 用户登录
|
||
tags:
|
||
- Auth
|
||
/auth/refresh:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 使用刷新令牌获取新的访问令牌
|
||
parameters:
|
||
- description: 刷新令牌
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RefreshTokenRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.AuthResponse'
|
||
"401":
|
||
description: Unauthorized
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 刷新访问令牌
|
||
tags:
|
||
- Auth
|
||
/auth/register:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 创建一个新的后台用户
|
||
parameters:
|
||
- description: 注册信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegisterRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"201":
|
||
description: Created
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse'
|
||
"400":
|
||
description: Bad Request
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 用户注册
|
||
tags:
|
||
- Auth
|
||
/clusters:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse'
|
||
type: array
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 列出所有集群
|
||
tags:
|
||
- Clusters
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 创建一个新的 Kubernetes 集群配置
|
||
parameters:
|
||
- description: 集群信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateClusterRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"201":
|
||
description: Created
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse'
|
||
"400":
|
||
description: Bad Request
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建集群
|
||
tags:
|
||
- Clusters
|
||
/clusters/{cluster_id}:
|
||
delete:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"204":
|
||
description: No Content
|
||
schema:
|
||
type: string
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除集群
|
||
tags:
|
||
- Clusters
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取集群详情
|
||
tags:
|
||
- Clusters
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 更新内容
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateClusterRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新集群
|
||
tags:
|
||
- Clusters
|
||
/clusters/{cluster_id}/health:
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterHealthResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取集群健康状态
|
||
tags:
|
||
- Clusters
|
||
/clusters/{cluster_id}/instances:
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceListResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 列出实例
|
||
tags:
|
||
- Instances
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 在指定集群上部署一个 artifact
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 实例配置
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateInstanceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"201":
|
||
description: Created
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse'
|
||
"400":
|
||
description: Bad Request
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建实例
|
||
tags:
|
||
- Instances
|
||
/clusters/{cluster_id}/instances/{instance_id}:
|
||
delete:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 实例 ID
|
||
in: path
|
||
name: instance_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"204":
|
||
description: No Content
|
||
schema:
|
||
type: string
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除实例
|
||
tags:
|
||
- Instances
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 实例 ID
|
||
in: path
|
||
name: instance_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取实例详情
|
||
tags:
|
||
- Instances
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 实例 ID
|
||
in: path
|
||
name: instance_id
|
||
required: true
|
||
type: string
|
||
- description: 更新内容
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateInstanceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新实例
|
||
tags:
|
||
- Instances
|
||
/clusters/{cluster_id}/instances/{instance_id}/entries:
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
- description: 实例 ID
|
||
in: path
|
||
name: instance_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryResponse'
|
||
type: array
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取实例 Service/Ingress 入口
|
||
tags:
|
||
- Instances
|
||
/monitoring/clusters:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterMetricsResponse'
|
||
type: array
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 列出集群监控
|
||
tags:
|
||
- Monitoring
|
||
/monitoring/clusters/{cluster_id}:
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterMetricsResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取集群监控
|
||
tags:
|
||
- Monitoring
|
||
/monitoring/clusters/{cluster_id}/nodes:
|
||
get:
|
||
parameters:
|
||
- description: 集群 ID
|
||
in: path
|
||
name: cluster_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse'
|
||
type: array
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取节点指标
|
||
tags:
|
||
- Monitoring
|
||
/monitoring/summary:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.MonitoringSummaryResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取监控汇总
|
||
tags:
|
||
- Monitoring
|
||
/registries:
|
||
get:
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse'
|
||
type: array
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 列出所有 Registries
|
||
tags:
|
||
- Registries
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 新增 OCI Registry 配置
|
||
parameters:
|
||
- description: Registry 信息
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateRegistryRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"201":
|
||
description: Created
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse'
|
||
"400":
|
||
description: Bad Request
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 创建 Registry
|
||
tags:
|
||
- Registries
|
||
/registries/{registry_id}:
|
||
delete:
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"204":
|
||
description: No Content
|
||
schema:
|
||
type: string
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 删除 Registry
|
||
tags:
|
||
- Registries
|
||
get:
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 获取 Registry
|
||
tags:
|
||
- Registries
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
- description: 更新内容
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateRegistryRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 更新 Registry
|
||
tags:
|
||
- Registries
|
||
/registries/{registry_id}/health:
|
||
get:
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryHealthResponse'
|
||
security:
|
||
- BearerAuth: []
|
||
summary: 检查 Registry 健康
|
||
tags:
|
||
- Registries
|
||
/registries/{registry_id}/repositories:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 列出指定 Registry 中的所有 Repository
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RepositoryListResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 列出 Registry 中的所有 Repositories
|
||
tags:
|
||
- Artifacts
|
||
/registries/{registry_id}/repositories/{repository_name}/artifacts:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 列出指定 Repository 中的所有 Artifact,支持按类型过滤
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
- description: Repository Name (URL encoded, e.g. charts%2Fnginx)
|
||
in: path
|
||
name: repository_name
|
||
required: true
|
||
type: string
|
||
- default: all
|
||
description: 过滤 Artifact 类型 (all, chart, image, other)
|
||
in: query
|
||
name: media_type
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.TagResponse'
|
||
type: array
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 列出 Repository 中的所有 Artifacts
|
||
tags:
|
||
- Artifacts
|
||
/registries/{registry_id}/repositories/{repository_name}/artifacts/{reference}:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取指定 Artifact 的详细信息
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
- description: Repository Name (URL encoded)
|
||
in: path
|
||
name: repository_name
|
||
required: true
|
||
type: string
|
||
- description: Artifact Reference (tag or digest)
|
||
in: path
|
||
name: reference
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ArtifactResponse'
|
||
"404":
|
||
description: Not Found
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 获取 Artifact 详情
|
||
tags:
|
||
- Artifacts
|
||
/registries/{registry_id}/repositories/{repository_name}/artifacts/{reference}/values:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取 Helm Chart 的 values.yaml 文件内容 (仅支持 Chart 类型)
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
- description: Repository Name (URL encoded)
|
||
in: path
|
||
name: repository_name
|
||
required: true
|
||
type: string
|
||
- description: Artifact Reference (tag or digest)
|
||
in: path
|
||
name: reference
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ValuesResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 获取 Helm Chart Values
|
||
tags:
|
||
- Artifacts
|
||
/registries/{registry_id}/repositories/{repository_name}/artifacts/{reference}/values-schema:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取 Helm Chart 的 values.schema.json (仅支持 Chart 类型)
|
||
parameters:
|
||
- description: Registry ID
|
||
in: path
|
||
name: registry_id
|
||
required: true
|
||
type: string
|
||
- description: Repository Name (URL encoded)
|
||
in: path
|
||
name: repository_name
|
||
required: true
|
||
type: string
|
||
- description: Artifact Reference (tag or digest)
|
||
in: path
|
||
name: reference
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ValuesSchemaResponse'
|
||
"500":
|
||
description: Internal Server Error
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse'
|
||
summary: 获取 Helm Chart Values Schema
|
||
tags:
|
||
- Artifacts
|
||
/users/me:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取当前登录用户的基本信息
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse'
|
||
summary: 获取当前用户信息
|
||
tags:
|
||
- user
|
||
/users/me/password:
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 修改当前登录用户的密码
|
||
parameters:
|
||
- description: 修改密码请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ChangePasswordRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 修改当前用户密码
|
||
tags:
|
||
- user
|
||
/users/me/workspace:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取当前用户所属工作空间的详细信息和配额
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceResponse'
|
||
summary: 获取当前用户所属工作空间
|
||
tags:
|
||
- user
|
||
/workspaces:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取所有工作空间列表(Admin 专用)
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceListResponse'
|
||
summary: 列出所有工作空间
|
||
tags:
|
||
- workspace
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 创建新的工作空间(Admin 专用)
|
||
parameters:
|
||
- description: 创建工作空间请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateWorkspaceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceDTO'
|
||
summary: 创建工作空间
|
||
tags:
|
||
- workspace
|
||
/workspaces/{workspace_id}:
|
||
delete:
|
||
consumes:
|
||
- application/json
|
||
description: 删除指定工作空间(Admin 专用)
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: path
|
||
name: workspace_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
summary: 删除工作空间
|
||
tags:
|
||
- workspace
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取指定工作空间的详细信息和配额
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: path
|
||
name: workspace_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceResponse'
|
||
summary: 获取工作空间
|
||
tags:
|
||
- workspace
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 更新工作空间信息(Admin 专用)
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: path
|
||
name: workspace_id
|
||
required: true
|
||
type: string
|
||
- description: 更新工作空间请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateWorkspaceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.WorkspaceDTO'
|
||
summary: 更新工作空间
|
||
tags:
|
||
- workspace
|
||
/workspaces/{workspace_id}/quotas:
|
||
get:
|
||
consumes:
|
||
- application/json
|
||
description: 获取指定工作空间的资源配额
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: path
|
||
name: workspace_id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaDTO'
|
||
type: array
|
||
summary: 获取工作空间配额
|
||
tags:
|
||
- workspace
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 设置指定工作空间的 CPU/GPU/GPU Memory 配额(Admin 专用)
|
||
parameters:
|
||
- description: 工作空间 ID
|
||
in: path
|
||
name: workspace_id
|
||
required: true
|
||
type: string
|
||
- description: 配额设置请求
|
||
in: body
|
||
name: request
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.SetQuotasRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: OK
|
||
schema:
|
||
items:
|
||
$ref: '#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.QuotaDTO'
|
||
type: array
|
||
summary: 设置工作空间配额
|
||
tags:
|
||
- workspace
|
||
schemes:
|
||
- http
|
||
- https
|
||
securityDefinitions:
|
||
BearerAuth:
|
||
description: Type "Bearer" followed by a space and JWT token.
|
||
in: header
|
||
name: Authorization
|
||
type: apiKey
|
||
swagger: "2.0"
|