From 8c4016792b757e365b877dae66f79795e797584f Mon Sep 17 00:00:00 2001 From: ssongliu Date: Thu, 18 May 2023 13:56:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20ssh=20=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/server/docs/docs.go | 525 ++++++++++++++++++++++++++++++++++- cmd/server/docs/swagger.json | 525 ++++++++++++++++++++++++++++++++++- cmd/server/docs/swagger.yaml | 346 ++++++++++++++++++++++- 3 files changed, 1363 insertions(+), 33 deletions(-) diff --git a/cmd/server/docs/docs.go b/cmd/server/docs/docs.go index f743c8557..28427fb44 100644 --- a/cmd/server/docs/docs.go +++ b/cmd/server/docs/docs.go @@ -4396,15 +4396,6 @@ var doc = `{ "type": "string" } } - }, - "x-panel-log": { - "BeforeFuntions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Read file [path]", - "formatZH": "读取文件 [path]", - "paramKeys": [] } } }, @@ -5035,6 +5026,258 @@ var doc = `{ } } }, + "/host/conffile/update": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "上传文件更新 SSH 配置", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Update host ssh setting by file", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SSHConf" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [], + "formatEN": "update SSH conf", + "formatZH": "修改 SSH 配置文件", + "paramKeys": [] + } + } + }, + "/host/ssh/generate": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "生成 ssh 密钥", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Generate host ssh secret", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateSSH" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [], + "formatEN": "generate SSH secret", + "formatZH": "生成 SSH 密钥 ", + "paramKeys": [] + } + } + }, + "/host/ssh/logs": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "获取 ssh 登录日志", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Load host ssh logs", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchSSHLog" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHLog" + } + } + } + } + }, + "/host/ssh/operate": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "修改 SSH 服务状态", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Operate ssh", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] SSH", + "formatZH": "[operation] SSH ", + "paramKeys": [] + } + } + }, + "/host/ssh/search": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "加载 SSH 配置信息", + "tags": [ + "SSH" + ], + "summary": "Load host ssh setting info", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHInfo" + } + } + } + } + }, + "/host/ssh/secret": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "获取 ssh 密钥", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Load host ssh secret", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateLoad" + } + } + ], + "responses": { + "200": { + "description": "" + } + } + } + }, + "/host/ssh/update": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "更新 SSH 配置", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Update host ssh setting", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update SSH setting [key] =\u003e [value]", + "formatZH": "修改 SSH 配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, "/hosts": { "post": { "security": [ @@ -9962,6 +10205,7 @@ var doc = `{ "dto.CommonRecover": { "type": "object", "required": [ + "source", "type" ], "properties": { @@ -9974,6 +10218,18 @@ var doc = `{ "name": { "type": "string" }, + "source": { + "type": "string", + "enum": [ + "OSS", + "S3", + "SFTP", + "MINIO", + "LOCAL", + "COS", + "KODO" + ] + }, "type": { "type": "string", "enum": [ @@ -10746,6 +11002,43 @@ var doc = `{ } } }, + "dto.GenerateLoad": { + "type": "object", + "required": [ + "encryptionMode" + ], + "properties": { + "encryptionMode": { + "type": "string", + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ] + } + } + }, + "dto.GenerateSSH": { + "type": "object", + "required": [ + "encryptionMode" + ], + "properties": { + "encryptionMode": { + "type": "string", + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ] + }, + "password": { + "type": "string" + } + } + }, "dto.GroupCreate": { "type": "object", "required": [ @@ -11413,6 +11706,17 @@ var doc = `{ } } }, + "dto.Operate": { + "type": "object", + "required": [ + "operation" + ], + "properties": { + "operation": { + "type": "string" + } + } + }, "dto.OperateByID": { "type": "object", "required": [ @@ -11723,6 +12027,92 @@ var doc = `{ } } }, + "dto.SSHConf": { + "type": "object", + "properties": { + "file": { + "type": "string" + } + } + }, + "dto.SSHHistory": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "authMode": { + "type": "string" + }, + "date": { + "type": "string" + }, + "dateStr": { + "type": "string" + }, + "isLocal": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "port": { + "type": "string" + }, + "status": { + "type": "string" + }, + "user": { + "type": "string" + } + } + }, + "dto.SSHInfo": { + "type": "object", + "properties": { + "listenAddress": { + "type": "string" + }, + "passwordAuthentication": { + "type": "string" + }, + "permitRootLogin": { + "type": "string" + }, + "port": { + "type": "string" + }, + "pubkeyAuthentication": { + "type": "string" + }, + "status": { + "type": "string" + }, + "useDNS": { + "type": "string" + } + } + }, + "dto.SSHLog": { + "type": "object", + "properties": { + "failedCount": { + "type": "integer" + }, + "logs": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.SSHHistory" + } + }, + "successfulCount": { + "type": "integer" + }, + "totalCount": { + "type": "integer" + } + } + }, "dto.SSLUpdate": { "type": "object", "required": [ @@ -11854,6 +12244,33 @@ var doc = `{ } } }, + "dto.SearchSSHLog": { + "type": "object", + "required": [ + "Status", + "page", + "pageSize" + ], + "properties": { + "Status": { + "type": "string", + "enum": [ + "Success", + "Failed", + "All" + ] + }, + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + } + }, "dto.SearchWithPage": { "type": "object", "required": [ @@ -11875,6 +12292,9 @@ var doc = `{ "dto.SettingInfo": { "type": "object", "properties": { + "appStoreLastModified": { + "type": "string" + }, "appStoreVersion": { "type": "string" }, @@ -12209,12 +12629,18 @@ var doc = `{ "key": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "limit": { "type": "integer" }, "name": { "type": "string" }, + "readMe": { + "type": "string" + }, "recommend": { "type": "integer" }, @@ -12233,6 +12659,12 @@ var doc = `{ "status": { "type": "string" }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, "type": { "type": "string" }, @@ -12521,9 +12953,27 @@ var doc = `{ "name" ], "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, "appDetailId": { "type": "integer" }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "name": { "type": "string" }, @@ -12609,9 +13059,27 @@ var doc = `{ "params" ], "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, "installId": { "type": "integer" }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "params": { "type": "object", "additionalProperties": true @@ -12934,9 +13402,27 @@ var doc = `{ "request.NewAppInstall": { "type": "object", "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, "appDetailID": { "type": "integer" }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "name": { "type": "string" }, @@ -13840,12 +14326,18 @@ var doc = `{ "key": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "limit": { "type": "integer" }, "name": { "type": "string" }, + "readMe": { + "type": "string" + }, "recommend": { "type": "integer" }, @@ -13896,6 +14388,12 @@ var doc = `{ "createdAt": { "type": "string" }, + "downloadCallBackUrl": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, "enable": { "type": "boolean" }, @@ -13905,16 +14403,19 @@ var doc = `{ "image": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "lastVersion": { "type": "string" }, "params": {}, - "readme": { - "type": "string" - }, "status": { "type": "string" }, + "update": { + "type": "boolean" + }, "updatedAt": { "type": "string" }, diff --git a/cmd/server/docs/swagger.json b/cmd/server/docs/swagger.json index 434ac0447..75a8c000c 100644 --- a/cmd/server/docs/swagger.json +++ b/cmd/server/docs/swagger.json @@ -4382,15 +4382,6 @@ "type": "string" } } - }, - "x-panel-log": { - "BeforeFuntions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Read file [path]", - "formatZH": "读取文件 [path]", - "paramKeys": [] } } }, @@ -5021,6 +5012,258 @@ } } }, + "/host/conffile/update": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "上传文件更新 SSH 配置", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Update host ssh setting by file", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SSHConf" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [], + "formatEN": "update SSH conf", + "formatZH": "修改 SSH 配置文件", + "paramKeys": [] + } + } + }, + "/host/ssh/generate": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "生成 ssh 密钥", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Generate host ssh secret", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateSSH" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [], + "formatEN": "generate SSH secret", + "formatZH": "生成 SSH 密钥 ", + "paramKeys": [] + } + } + }, + "/host/ssh/logs": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "获取 ssh 登录日志", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Load host ssh logs", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchSSHLog" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHLog" + } + } + } + } + }, + "/host/ssh/operate": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "修改 SSH 服务状态", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Operate ssh", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] SSH", + "formatZH": "[operation] SSH ", + "paramKeys": [] + } + } + }, + "/host/ssh/search": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "加载 SSH 配置信息", + "tags": [ + "SSH" + ], + "summary": "Load host ssh setting info", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHInfo" + } + } + } + } + }, + "/host/ssh/secret": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "获取 ssh 密钥", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Load host ssh secret", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateLoad" + } + } + ], + "responses": { + "200": { + "description": "" + } + } + } + }, + "/host/ssh/update": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "更新 SSH 配置", + "consumes": [ + "application/json" + ], + "tags": [ + "SSH" + ], + "summary": "Update host ssh setting", + "parameters": [ + { + "description": "request", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "" + } + }, + "x-panel-log": { + "BeforeFuntions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update SSH setting [key] =\u003e [value]", + "formatZH": "修改 SSH 配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, "/hosts": { "post": { "security": [ @@ -9948,6 +10191,7 @@ "dto.CommonRecover": { "type": "object", "required": [ + "source", "type" ], "properties": { @@ -9960,6 +10204,18 @@ "name": { "type": "string" }, + "source": { + "type": "string", + "enum": [ + "OSS", + "S3", + "SFTP", + "MINIO", + "LOCAL", + "COS", + "KODO" + ] + }, "type": { "type": "string", "enum": [ @@ -10732,6 +10988,43 @@ } } }, + "dto.GenerateLoad": { + "type": "object", + "required": [ + "encryptionMode" + ], + "properties": { + "encryptionMode": { + "type": "string", + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ] + } + } + }, + "dto.GenerateSSH": { + "type": "object", + "required": [ + "encryptionMode" + ], + "properties": { + "encryptionMode": { + "type": "string", + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ] + }, + "password": { + "type": "string" + } + } + }, "dto.GroupCreate": { "type": "object", "required": [ @@ -11399,6 +11692,17 @@ } } }, + "dto.Operate": { + "type": "object", + "required": [ + "operation" + ], + "properties": { + "operation": { + "type": "string" + } + } + }, "dto.OperateByID": { "type": "object", "required": [ @@ -11709,6 +12013,92 @@ } } }, + "dto.SSHConf": { + "type": "object", + "properties": { + "file": { + "type": "string" + } + } + }, + "dto.SSHHistory": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "authMode": { + "type": "string" + }, + "date": { + "type": "string" + }, + "dateStr": { + "type": "string" + }, + "isLocal": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "port": { + "type": "string" + }, + "status": { + "type": "string" + }, + "user": { + "type": "string" + } + } + }, + "dto.SSHInfo": { + "type": "object", + "properties": { + "listenAddress": { + "type": "string" + }, + "passwordAuthentication": { + "type": "string" + }, + "permitRootLogin": { + "type": "string" + }, + "port": { + "type": "string" + }, + "pubkeyAuthentication": { + "type": "string" + }, + "status": { + "type": "string" + }, + "useDNS": { + "type": "string" + } + } + }, + "dto.SSHLog": { + "type": "object", + "properties": { + "failedCount": { + "type": "integer" + }, + "logs": { + "type": "array", + "items": { + "$ref": "#/definitions/dto.SSHHistory" + } + }, + "successfulCount": { + "type": "integer" + }, + "totalCount": { + "type": "integer" + } + } + }, "dto.SSLUpdate": { "type": "object", "required": [ @@ -11840,6 +12230,33 @@ } } }, + "dto.SearchSSHLog": { + "type": "object", + "required": [ + "Status", + "page", + "pageSize" + ], + "properties": { + "Status": { + "type": "string", + "enum": [ + "Success", + "Failed", + "All" + ] + }, + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + } + }, "dto.SearchWithPage": { "type": "object", "required": [ @@ -11861,6 +12278,9 @@ "dto.SettingInfo": { "type": "object", "properties": { + "appStoreLastModified": { + "type": "string" + }, "appStoreVersion": { "type": "string" }, @@ -12195,12 +12615,18 @@ "key": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "limit": { "type": "integer" }, "name": { "type": "string" }, + "readMe": { + "type": "string" + }, "recommend": { "type": "integer" }, @@ -12219,6 +12645,12 @@ "status": { "type": "string" }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + }, "type": { "type": "string" }, @@ -12507,9 +12939,27 @@ "name" ], "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, "appDetailId": { "type": "integer" }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "name": { "type": "string" }, @@ -12595,9 +13045,27 @@ "params" ], "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, "installId": { "type": "integer" }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "params": { "type": "object", "additionalProperties": true @@ -12920,9 +13388,27 @@ "request.NewAppInstall": { "type": "object", "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, "appDetailID": { "type": "integer" }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, "name": { "type": "string" }, @@ -13826,12 +14312,18 @@ "key": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "limit": { "type": "integer" }, "name": { "type": "string" }, + "readMe": { + "type": "string" + }, "recommend": { "type": "integer" }, @@ -13882,6 +14374,12 @@ "createdAt": { "type": "string" }, + "downloadCallBackUrl": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, "enable": { "type": "boolean" }, @@ -13891,16 +14389,19 @@ "image": { "type": "string" }, + "lastModified": { + "type": "integer" + }, "lastVersion": { "type": "string" }, "params": {}, - "readme": { - "type": "string" - }, "status": { "type": "string" }, + "update": { + "type": "boolean" + }, "updatedAt": { "type": "string" }, diff --git a/cmd/server/docs/swagger.yaml b/cmd/server/docs/swagger.yaml index 73afc2336..98309556d 100644 --- a/cmd/server/docs/swagger.yaml +++ b/cmd/server/docs/swagger.yaml @@ -161,6 +161,16 @@ definitions: type: string name: type: string + source: + enum: + - OSS + - S3 + - SFTP + - MINIO + - LOCAL + - COS + - KODO + type: string type: enum: - app @@ -169,6 +179,7 @@ definitions: - website type: string required: + - source - type type: object dto.ComposeCreate: @@ -684,6 +695,32 @@ definitions: - type - vars type: object + dto.GenerateLoad: + properties: + encryptionMode: + enum: + - rsa + - ed25519 + - ecdsa + - dsa + type: string + required: + - encryptionMode + type: object + dto.GenerateSSH: + properties: + encryptionMode: + enum: + - rsa + - ed25519 + - ecdsa + - dsa + type: string + password: + type: string + required: + - encryptionMode + type: object dto.GroupCreate: properties: id: @@ -1129,6 +1166,13 @@ definitions: subnet: type: string type: object + dto.Operate: + properties: + operation: + type: string + required: + - operation + type: object dto.OperateByID: properties: id: @@ -1336,6 +1380,62 @@ definitions: used_memory_rss: type: string type: object + dto.SSHConf: + properties: + file: + type: string + type: object + dto.SSHHistory: + properties: + address: + type: string + authMode: + type: string + date: + type: string + dateStr: + type: string + isLocal: + type: boolean + message: + type: string + port: + type: string + status: + type: string + user: + type: string + type: object + dto.SSHInfo: + properties: + listenAddress: + type: string + passwordAuthentication: + type: string + permitRootLogin: + type: string + port: + type: string + pubkeyAuthentication: + type: string + status: + type: string + useDNS: + type: string + type: object + dto.SSHLog: + properties: + failedCount: + type: integer + logs: + items: + $ref: '#/definitions/dto.SSHHistory' + type: array + successfulCount: + type: integer + totalCount: + type: integer + type: object dto.SSLUpdate: properties: cert: @@ -1423,6 +1523,25 @@ definitions: - page - pageSize type: object + dto.SearchSSHLog: + properties: + Status: + enum: + - Success + - Failed + - All + type: string + info: + type: string + page: + type: integer + pageSize: + type: integer + required: + - Status + - page + - pageSize + type: object dto.SearchWithPage: properties: info: @@ -1437,6 +1556,8 @@ definitions: type: object dto.SettingInfo: properties: + appStoreLastModified: + type: string appStoreVersion: type: string complexityVerification: @@ -1658,10 +1779,14 @@ definitions: type: integer key: type: string + lastModified: + type: integer limit: type: integer name: type: string + readMe: + type: string recommend: type: integer required: @@ -1674,6 +1799,10 @@ definitions: type: string status: type: string + tags: + items: + type: string + type: array type: type: string updatedAt: @@ -1861,8 +1990,20 @@ definitions: type: object request.AppInstallCreate: properties: + advanced: + type: boolean + allowPort: + type: boolean appDetailId: type: integer + containerName: + type: string + cpuQuota: + type: number + memoryLimit: + type: number + memoryUnit: + type: string name: type: string params: @@ -1920,8 +2061,20 @@ definitions: type: object request.AppInstalledUpdate: properties: + advanced: + type: boolean + allowPort: + type: boolean + containerName: + type: string + cpuQuota: + type: number installId: type: integer + memoryLimit: + type: number + memoryUnit: + type: string params: additionalProperties: true type: object @@ -2141,8 +2294,20 @@ definitions: type: object request.NewAppInstall: properties: + advanced: + type: boolean + allowPort: + type: boolean appDetailID: type: integer + containerName: + type: string + cpuQuota: + type: number + memoryLimit: + type: number + memoryUnit: + type: string name: type: string params: @@ -2752,10 +2917,14 @@ definitions: type: integer key: type: string + lastModified: + type: integer limit: type: integer name: type: string + readMe: + type: string recommend: type: integer required: @@ -2789,19 +2958,25 @@ definitions: type: integer createdAt: type: string + downloadCallBackUrl: + type: string + downloadUrl: + type: string enable: type: boolean id: type: integer image: type: string + lastModified: + type: integer lastVersion: type: string params: {} - readme: - type: string status: type: string + update: + type: boolean updatedAt: type: string version: @@ -5834,13 +6009,6 @@ paths: summary: Read file tags: - File - x-panel-log: - BeforeFuntions: [] - bodyKeys: - - path - formatEN: Read file [path] - formatZH: 读取文件 [path] - paramKeys: [] /files/mode: post: consumes: @@ -6244,6 +6412,166 @@ paths: formatEN: update group [name][type] formatZH: 更新组 [name][type] paramKeys: [] + /host/conffile/update: + post: + consumes: + - application/json + description: 上传文件更新 SSH 配置 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.SSHConf' + responses: + "200": + description: "" + security: + - ApiKeyAuth: [] + summary: Update host ssh setting by file + tags: + - SSH + x-panel-log: + BeforeFuntions: [] + bodyKeys: [] + formatEN: update SSH conf + formatZH: 修改 SSH 配置文件 + paramKeys: [] + /host/ssh/generate: + post: + consumes: + - application/json + description: 生成 ssh 密钥 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.GenerateSSH' + responses: + "200": + description: "" + security: + - ApiKeyAuth: [] + summary: Generate host ssh secret + tags: + - SSH + x-panel-log: + BeforeFuntions: [] + bodyKeys: [] + formatEN: generate SSH secret + formatZH: '生成 SSH 密钥 ' + paramKeys: [] + /host/ssh/logs: + post: + consumes: + - application/json + description: 获取 ssh 登录日志 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.SearchSSHLog' + responses: + "200": + description: OK + schema: + $ref: '#/definitions/dto.SSHLog' + security: + - ApiKeyAuth: [] + summary: Load host ssh logs + tags: + - SSH + /host/ssh/operate: + post: + consumes: + - application/json + description: 修改 SSH 服务状态 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.Operate' + responses: {} + security: + - ApiKeyAuth: [] + summary: Operate ssh + tags: + - SSH + x-panel-log: + BeforeFuntions: [] + bodyKeys: + - operation + formatEN: '[operation] SSH' + formatZH: '[operation] SSH ' + paramKeys: [] + /host/ssh/search: + post: + description: 加载 SSH 配置信息 + responses: + "200": + description: OK + schema: + $ref: '#/definitions/dto.SSHInfo' + security: + - ApiKeyAuth: [] + summary: Load host ssh setting info + tags: + - SSH + /host/ssh/secret: + post: + consumes: + - application/json + description: 获取 ssh 密钥 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.GenerateLoad' + responses: + "200": + description: "" + security: + - ApiKeyAuth: [] + summary: Load host ssh secret + tags: + - SSH + /host/ssh/update: + post: + consumes: + - application/json + description: 更新 SSH 配置 + parameters: + - description: request + in: body + name: request + required: true + schema: + $ref: '#/definitions/dto.SettingUpdate' + responses: + "200": + description: "" + security: + - ApiKeyAuth: [] + summary: Update host ssh setting + tags: + - SSH + x-panel-log: + BeforeFuntions: [] + bodyKeys: + - key + - value + formatEN: update SSH setting [key] => [value] + formatZH: 修改 SSH 配置 [key] => [value] + paramKeys: [] /hosts: post: consumes: