Files
ocdp-go/backend/docs/openapi.json
mangomqy c5e51ed069 ocdp v1
2025-11-13 02:54:06 +00:00

2055 lines
70 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
"description": "OCDP (Open Cloud Development Platform) Backend API\n\nRESTful API for managing Kubernetes clusters, OCI registries, and Helm deployments.",
"title": "OCDP Backend API",
"contact": {
"name": "API Support",
"email": "support@ocdp.io"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0"
},
"host": "localhost:8080",
"basePath": "/api/v1",
"paths": {
"/auth/login": {
"post": {
"description": "使用用户名和密码获取访问令牌",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "用户登录",
"parameters": [
{
"description": "登录信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.LoginRequest"
}
}
],
"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"
}
}
}
}
},
"/auth/refresh": {
"post": {
"description": "使用刷新令牌获取新的访问令牌",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "刷新访问令牌",
"parameters": [
{
"description": "刷新令牌",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RefreshTokenRequest"
}
}
],
"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"
}
}
}
}
},
"/auth/register": {
"post": {
"description": "创建一个新的后台用户",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Auth"
],
"summary": "用户注册",
"parameters": [
{
"description": "注册信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegisterRequest"
}
}
],
"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"
}
}
}
}
},
"/clusters": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "列出所有集群",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "创建一个新的 Kubernetes 集群配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "创建集群",
"parameters": [
{
"description": "集群信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateClusterRequest"
}
}
],
"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"
}
}
}
}
},
"/clusters/{cluster_id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "获取集群详情",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
},
"put": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "更新集群",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"description": "更新内容",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateClusterRequest"
}
}
],
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "删除集群",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/clusters/{cluster_id}/health": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Clusters"
],
"summary": "获取集群健康状态",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/clusters/{cluster_id}/instances": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "列出实例",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "在指定集群上部署一个 artifact",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "创建实例",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"description": "实例配置",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateInstanceRequest"
}
}
],
"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"
}
}
}
}
},
"/clusters/{cluster_id}/instances/{instance_id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "获取实例详情",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "实例 ID",
"name": "instance_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
},
"put": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "更新实例",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "实例 ID",
"name": "instance_id",
"in": "path",
"required": true
},
{
"description": "更新内容",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateInstanceRequest"
}
}
],
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "删除实例",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "实例 ID",
"name": "instance_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/clusters/{cluster_id}/instances/{instance_id}/entries": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Instances"
],
"summary": "获取实例 Service/Ingress 入口",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "实例 ID",
"name": "instance_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryResponse"
}
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse"
}
}
}
}
},
"/monitoring/clusters": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Monitoring"
],
"summary": "列出集群监控",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$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"
}
}
}
}
},
"/monitoring/clusters/{cluster_id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Monitoring"
],
"summary": "获取集群监控",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/monitoring/clusters/{cluster_id}/nodes": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Monitoring"
],
"summary": "获取节点指标",
"parameters": [
{
"type": "string",
"description": "集群 ID",
"name": "cluster_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse"
}
}
}
}
},
"/monitoring/summary": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Monitoring"
],
"summary": "获取监控汇总",
"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"
}
}
}
}
},
"/registries": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "列出所有 Registries",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse"
}
}
}
},
"post": {
"security": [
{
"BearerAuth": []
}
],
"description": "新增 OCI Registry 配置",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "创建 Registry",
"parameters": [
{
"description": "Registry 信息",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateRegistryRequest"
}
}
],
"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"
}
}
}
}
},
"/registries/{registry_id}": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "获取 Registry",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
},
"put": {
"security": [
{
"BearerAuth": []
}
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "更新 Registry",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
},
{
"description": "更新内容",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateRegistryRequest"
}
}
],
"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"
}
}
}
},
"delete": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "删除 Registry",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/registries/{registry_id}/health": {
"get": {
"security": [
{
"BearerAuth": []
}
],
"produces": [
"application/json"
],
"tags": [
"Registries"
],
"summary": "检查 Registry 健康",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryHealthResponse"
}
}
}
}
},
"/registries/{registry_id}/repositories": {
"get": {
"description": "列出指定 Registry 中的所有 Repository",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Artifacts"
],
"summary": "列出 Registry 中的所有 Repositories",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/registries/{registry_id}/repositories/{repository_name}/artifacts": {
"get": {
"description": "列出指定 Repository 中的所有 Artifact支持按类型过滤",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Artifacts"
],
"summary": "列出 Repository 中的所有 Artifacts",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Repository Name (URL encoded, e.g. charts%2Fnginx)",
"name": "repository_name",
"in": "path",
"required": true
},
{
"type": "string",
"default": "all",
"description": "过滤 Artifact 类型 (all, chart, image, other)",
"name": "media_type",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.TagResponse"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse"
}
}
}
}
},
"/registries/{registry_id}/repositories/{repository_name}/artifacts/{reference}": {
"get": {
"description": "获取指定 Artifact 的详细信息",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Artifacts"
],
"summary": "获取 Artifact 详情",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Repository Name (URL encoded)",
"name": "repository_name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Artifact Reference (tag or digest)",
"name": "reference",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
},
"/registries/{registry_id}/repositories/{repository_name}/artifacts/{reference}/values-schema": {
"get": {
"description": "获取 Helm Chart 的 values.schema.json (仅支持 Chart 类型)",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Artifacts"
],
"summary": "获取 Helm Chart Values Schema",
"parameters": [
{
"type": "string",
"description": "Registry ID",
"name": "registry_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Repository Name (URL encoded)",
"name": "repository_name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Artifact Reference (tag or digest)",
"name": "reference",
"in": "path",
"required": true
}
],
"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"
}
}
}
}
}
},
"definitions": {
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ArtifactResponse": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"digest": {
"type": "string"
},
"repositoryName": {
"type": "string"
},
"size": {
"type": "integer"
},
"tag": {
"type": "string"
},
"type": {
"description": "chart | image | other",
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.AuthResponse": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"refreshToken": {
"type": "string"
},
"userId": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterHealthResponse": {
"type": "object",
"properties": {
"healthy": {
"type": "boolean"
},
"message": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterMetricsResponse": {
"type": "object",
"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": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse"
}
},
"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"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ClusterResponse": {
"type": "object",
"properties": {
"caData": {
"description": "脱敏数据(仅用于前端显示,实际值为掩码)",
"type": "string"
},
"certData": {
"description": "脱敏显示(••••••••)",
"type": "string"
},
"createdAt": {
"type": "string"
},
"description": {
"type": "string"
},
"hasCaData": {
"description": "认证配置状态(不返回实际证书数据,仅返回是否已配置)",
"type": "boolean"
},
"hasCertData": {
"type": "boolean"
},
"hasKeyData": {
"type": "boolean"
},
"hasToken": {
"type": "boolean"
},
"host": {
"type": "string"
},
"id": {
"type": "string"
},
"keyData": {
"description": "脱敏显示(••••••••)",
"type": "string"
},
"name": {
"type": "string"
},
"token": {
"description": "脱敏显示(••••••••)",
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateClusterRequest": {
"type": "object",
"required": [
"host",
"name"
],
"properties": {
"caData": {
"type": "string"
},
"certData": {
"type": "string"
},
"description": {
"type": "string"
},
"host": {
"type": "string"
},
"keyData": {
"type": "string"
},
"name": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateInstanceRequest": {
"type": "object",
"required": [
"name",
"namespace",
"registryId",
"repository",
"tag"
],
"properties": {
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"registryId": {
"type": "string"
},
"repository": {
"type": "string"
},
"tag": {
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": true
},
"valuesYaml": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.CreateRegistryRequest": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"description": {
"type": "string"
},
"insecure": {
"type": "boolean"
},
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"url": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ErrorResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer"
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryHostResponse": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"paths": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPathResponse"
}
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPathResponse": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"serviceName": {
"type": "string"
},
"servicePort": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPortResponse": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"nodePort": {
"type": "integer"
},
"port": {
"type": "integer"
},
"protocol": {
"type": "string"
},
"targetPort": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryResponse": {
"type": "object",
"properties": {
"clusterIP": {
"type": "string"
},
"externalIPs": {
"type": "array",
"items": {
"type": "string"
}
},
"hosts": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryHostResponse"
}
},
"kind": {
"type": "string"
},
"loadBalancerIngress": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"ports": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryPortResponse"
}
},
"tls": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryTLSResponse"
}
},
"type": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceEntryTLSResponse": {
"type": "object",
"properties": {
"hosts": {
"type": "array",
"items": {
"type": "string"
}
},
"secretName": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceListResponse": {
"type": "object",
"properties": {
"instances": {
"type": "array",
"items": {
"$ref": "#/definitions/github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse"
}
},
"total": {
"type": "integer"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.InstanceResponse": {
"type": "object",
"properties": {
"chart": {
"type": "string"
},
"clusterId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"description": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"registryId": {
"type": "string"
},
"repository": {
"type": "string"
},
"revision": {
"type": "integer"
},
"status": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": true
},
"version": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.LoginRequest": {
"type": "object",
"required": [
"password",
"username"
],
"properties": {
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.MonitoringSummaryResponse": {
"type": "object",
"properties": {
"errorClusters": {
"type": "integer"
},
"healthyClusters": {
"type": "integer"
},
"lastUpdate": {
"type": "string"
},
"totalClusters": {
"type": "integer"
},
"totalNodes": {
"type": "integer"
},
"totalPods": {
"type": "integer"
},
"warningClusters": {
"type": "integer"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.NodeMetricsResponse": {
"type": "object",
"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"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RefreshTokenRequest": {
"type": "object",
"required": [
"refreshToken"
],
"properties": {
"refreshToken": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegisterRequest": {
"type": "object",
"required": [
"password",
"username"
],
"properties": {
"password": {
"type": "string",
"minLength": 6
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryHealthResponse": {
"type": "object",
"properties": {
"healthy": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RegistryResponse": {
"type": "object",
"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"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.RepositoryListResponse": {
"type": "object",
"properties": {
"catalogSupported": {
"description": "Whether _catalog API is supported",
"type": "boolean"
},
"message": {
"description": "User-friendly message",
"type": "string"
},
"registryId": {
"type": "string"
},
"registryUrl": {
"type": "string"
},
"repositories": {
"type": "array",
"items": {
"type": "string"
}
},
"source": {
"description": "Data source: \"catalog\" | \"preconfigured\" | \"unavailable\"",
"type": "string"
},
"total": {
"type": "integer"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.TagResponse": {
"type": "object",
"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"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateClusterRequest": {
"type": "object",
"properties": {
"caData": {
"type": "string"
},
"certData": {
"type": "string"
},
"description": {
"type": "string"
},
"host": {
"type": "string"
},
"keyData": {
"type": "string"
},
"name": {
"type": "string"
},
"token": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateInstanceRequest": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": true
},
"valuesYaml": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UpdateRegistryRequest": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"insecure": {
"type": "boolean"
},
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"url": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.UserResponse": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"email": {
"type": "string"
},
"id": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"github_com_ocdp_cluster-service_internal_adapter_input_http_dto.ValuesSchemaResponse": {
"type": "object",
"properties": {
"schema": {
"type": "string"
}
}
}
},
"securityDefinitions": {
"BearerAuth": {
"description": "Type \"Bearer\" followed by a space and JWT token.",
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
}
}