{ "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" } } }