feat: 增加从快照恢复功能

feat: 增加升级备份与恢复
This commit is contained in:
ssongliu
2023-01-30 21:11:12 +08:00
committed by ssongliu
parent e3a15e88d7
commit e7af9de9ed
56 changed files with 12385 additions and 315 deletions
+317 -22
View File
@@ -5976,28 +5976,6 @@ var doc = `{
}
}
},
"/settings/daemonjson": {
"get": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "加载 docker 配置路径",
"tags": [
"System Setting"
],
"summary": "Load daemon.json path",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
}
},
"/settings/expired/handle": {
"post": {
"security": [
@@ -6188,6 +6166,238 @@ var doc = `{
}
}
},
"/settings/snapshot": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "创建系统快照",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Create system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotCreate"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [],
"bodyKeys": [
"name",
"description"
],
"formatEN": "Create system backup [name][description]",
"formatZH": "创建系统快照 [name][description]",
"paramKeys": []
}
}
},
"/settings/snapshot/del": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "删除系统快照",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Delete system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.BatchDeleteReq"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "ids",
"isList": true,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"ids"
],
"formatEN": "Delete system backup [name]",
"formatZH": "删除系统快照 [name]",
"paramKeys": []
}
}
},
"/settings/snapshot/recover": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "从系统快照恢复",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Recover system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotRecover"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "id",
"isList": false,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"id"
],
"formatEN": "Recover from system backup [name]",
"formatZH": "从系统快照 [name] 恢复",
"paramKeys": []
}
}
},
"/settings/snapshot/rollback": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "从系统快照回滚",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Rollback system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotRecover"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "id",
"isList": false,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"id"
],
"formatEN": "Rollback from system backup [name]",
"formatZH": "从系统快照 [name] 回滚",
"paramKeys": []
}
}
},
"/settings/snapshot/search": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "获取系统快照列表分页",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Page system snapshot",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.PageInfo"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.PageResult"
}
}
}
}
},
"/settings/time/sync": {
"post": {
"security": [
@@ -6260,6 +6470,28 @@ var doc = `{
}
}
},
"/settings/upgrade": {
"get": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "加载系统更新信息",
"tags": [
"System Setting"
],
"summary": "Load upgrade info",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.UpgradeInfo"
}
}
}
}
},
"/websites": {
"post": {
"security": [
@@ -8629,6 +8861,9 @@ var doc = `{
},
"status": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
@@ -9960,6 +10195,9 @@ var doc = `{
"sessionTimeout": {
"type": "string"
},
"systemVersion": {
"type": "string"
},
"theme": {
"type": "string"
},
@@ -9985,6 +10223,63 @@ var doc = `{
}
}
},
"dto.SnapshotCreate": {
"type": "object",
"required": [
"from"
],
"properties": {
"description": {
"type": "string"
},
"from": {
"type": "string",
"enum": [
"OSS",
"S3",
"SFTP",
"MINIO"
]
}
}
},
"dto.SnapshotRecover": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"isNew": {
"type": "boolean"
},
"reDownload": {
"type": "boolean"
}
}
},
"dto.UpgradeInfo": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"newVersion": {
"type": "string"
},
"publishedAt": {
"type": "string"
},
"releaseNote": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"dto.UploadRecover": {
"type": "object",
"required": [
+317 -22
View File
@@ -5962,28 +5962,6 @@
}
}
},
"/settings/daemonjson": {
"get": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "加载 docker 配置路径",
"tags": [
"System Setting"
],
"summary": "Load daemon.json path",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
}
},
"/settings/expired/handle": {
"post": {
"security": [
@@ -6174,6 +6152,238 @@
}
}
},
"/settings/snapshot": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "创建系统快照",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Create system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotCreate"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [],
"bodyKeys": [
"name",
"description"
],
"formatEN": "Create system backup [name][description]",
"formatZH": "创建系统快照 [name][description]",
"paramKeys": []
}
}
},
"/settings/snapshot/del": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "删除系统快照",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Delete system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.BatchDeleteReq"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "ids",
"isList": true,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"ids"
],
"formatEN": "Delete system backup [name]",
"formatZH": "删除系统快照 [name]",
"paramKeys": []
}
}
},
"/settings/snapshot/recover": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "从系统快照恢复",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Recover system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotRecover"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "id",
"isList": false,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"id"
],
"formatEN": "Recover from system backup [name]",
"formatZH": "从系统快照 [name] 恢复",
"paramKeys": []
}
}
},
"/settings/snapshot/rollback": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "从系统快照回滚",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Rollback system backup",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.SnapshotRecover"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"x-panel-log": {
"BeforeFuntions": [
{
"db": "snapshots",
"input_colume": "id",
"input_value": "id",
"isList": false,
"output_colume": "name",
"output_value": "name"
}
],
"bodyKeys": [
"id"
],
"formatEN": "Rollback from system backup [name]",
"formatZH": "从系统快照 [name] 回滚",
"paramKeys": []
}
}
},
"/settings/snapshot/search": {
"post": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "获取系统快照列表分页",
"consumes": [
"application/json"
],
"tags": [
"System Setting"
],
"summary": "Page system snapshot",
"parameters": [
{
"description": "request",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/dto.PageInfo"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.PageResult"
}
}
}
}
},
"/settings/time/sync": {
"post": {
"security": [
@@ -6246,6 +6456,28 @@
}
}
},
"/settings/upgrade": {
"get": {
"security": [
{
"ApiKeyAuth": []
}
],
"description": "加载系统更新信息",
"tags": [
"System Setting"
],
"summary": "Load upgrade info",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/dto.UpgradeInfo"
}
}
}
}
},
"/websites": {
"post": {
"security": [
@@ -8615,6 +8847,9 @@
},
"status": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
@@ -9946,6 +10181,9 @@
"sessionTimeout": {
"type": "string"
},
"systemVersion": {
"type": "string"
},
"theme": {
"type": "string"
},
@@ -9971,6 +10209,63 @@
}
}
},
"dto.SnapshotCreate": {
"type": "object",
"required": [
"from"
],
"properties": {
"description": {
"type": "string"
},
"from": {
"type": "string",
"enum": [
"OSS",
"S3",
"SFTP",
"MINIO"
]
}
}
},
"dto.SnapshotRecover": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"isNew": {
"type": "boolean"
},
"reDownload": {
"type": "boolean"
}
}
},
"dto.UpgradeInfo": {
"type": "object",
"properties": {
"createdAt": {
"type": "string"
},
"newVersion": {
"type": "string"
},
"publishedAt": {
"type": "string"
},
"releaseNote": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"dto.UploadRecover": {
"type": "object",
"required": [
+204 -13
View File
@@ -391,6 +391,8 @@ definitions:
type: array
status:
type: string
version:
type: string
type: object
dto.DaemonJsonUpdateByFile:
properties:
@@ -1278,6 +1280,8 @@ definitions:
type: string
sessionTimeout:
type: string
systemVersion:
type: string
theme:
type: string
userName:
@@ -1294,6 +1298,44 @@ definitions:
required:
- key
type: object
dto.SnapshotCreate:
properties:
description:
type: string
from:
enum:
- OSS
- S3
- SFTP
- MINIO
type: string
required:
- from
type: object
dto.SnapshotRecover:
properties:
id:
type: integer
isNew:
type: boolean
reDownload:
type: boolean
required:
- id
type: object
dto.UpgradeInfo:
properties:
createdAt:
type: string
newVersion:
type: string
publishedAt:
type: string
releaseNote:
type: string
tag:
type: string
type: object
dto.UploadRecover:
properties:
dbName:
@@ -6314,19 +6356,6 @@ paths:
formatEN: Update nginx conf [domain]
formatZH: 更新 nginx 配置 [domain]
paramKeys: []
/settings/daemonjson:
get:
description: 加载 docker 配置路径
responses:
"200":
description: OK
schema:
type: string
security:
- ApiKeyAuth: []
summary: Load daemon.json path
tags:
- System Setting
/settings/expired/handle:
post:
consumes:
@@ -6448,6 +6477,155 @@ paths:
summary: Load system setting info
tags:
- System Setting
/settings/snapshot:
post:
consumes:
- application/json
description: 创建系统快照
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.SnapshotCreate'
responses:
"200":
description: ""
security:
- ApiKeyAuth: []
summary: Create system backup
tags:
- System Setting
x-panel-log:
BeforeFuntions: []
bodyKeys:
- name
- description
formatEN: Create system backup [name][description]
formatZH: 创建系统快照 [name][description]
paramKeys: []
/settings/snapshot/del:
post:
consumes:
- application/json
description: 删除系统快照
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.BatchDeleteReq'
responses:
"200":
description: ""
security:
- ApiKeyAuth: []
summary: Delete system backup
tags:
- System Setting
x-panel-log:
BeforeFuntions:
- db: snapshots
input_colume: id
input_value: ids
isList: true
output_colume: name
output_value: name
bodyKeys:
- ids
formatEN: Delete system backup [name]
formatZH: 删除系统快照 [name]
paramKeys: []
/settings/snapshot/recover:
post:
consumes:
- application/json
description: 从系统快照恢复
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.SnapshotRecover'
responses:
"200":
description: ""
security:
- ApiKeyAuth: []
summary: Recover system backup
tags:
- System Setting
x-panel-log:
BeforeFuntions:
- db: snapshots
input_colume: id
input_value: id
isList: false
output_colume: name
output_value: name
bodyKeys:
- id
formatEN: Recover from system backup [name]
formatZH: 从系统快照 [name] 恢复
paramKeys: []
/settings/snapshot/rollback:
post:
consumes:
- application/json
description: 从系统快照回滚
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.SnapshotRecover'
responses:
"200":
description: ""
security:
- ApiKeyAuth: []
summary: Rollback system backup
tags:
- System Setting
x-panel-log:
BeforeFuntions:
- db: snapshots
input_colume: id
input_value: id
isList: false
output_colume: name
output_value: name
bodyKeys:
- id
formatEN: Rollback from system backup [name]
formatZH: 从系统快照 [name] 回滚
paramKeys: []
/settings/snapshot/search:
post:
consumes:
- application/json
description: 获取系统快照列表分页
parameters:
- description: request
in: body
name: request
required: true
schema:
$ref: '#/definitions/dto.PageInfo'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.PageResult'
security:
- ApiKeyAuth: []
summary: Page system snapshot
tags:
- System Setting
/settings/time/sync:
post:
description: 系统时间同步
@@ -6495,6 +6673,19 @@ paths:
formatEN: update system setting [key] => [value]
formatZH: 修改系统配置 [key] => [value]
paramKeys: []
/settings/upgrade:
get:
description: 加载系统更新信息
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.UpgradeInfo'
security:
- ApiKeyAuth: []
summary: Load upgrade info
tags:
- System Setting
/websites:
post:
consumes: