mirror of
https://github.com/deuxfleurs-org/garage.git
synced 2026-08-09 22:19:23 +00:00
admin api: implement GetClusterLayoutHistory and use it in CLI
This commit is contained in:
@@ -512,6 +512,30 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v2/GetClusterLayoutHistory": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Cluster layout"
|
||||
],
|
||||
"description": "\nReturns the history of layouts in the cluster\n ",
|
||||
"operationId": "GetClusterLayoutHistory",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Cluster layout history",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/GetClusterLayoutHistoryResponse"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal server error"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/v2/GetClusterStatistics": {
|
||||
"get": {
|
||||
"tags": [
|
||||
@@ -1600,6 +1624,43 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ClusterLayoutVersion": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"version",
|
||||
"status",
|
||||
"storageNodes",
|
||||
"gatewayNodes"
|
||||
],
|
||||
"properties": {
|
||||
"gatewayNodes": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"status": {
|
||||
"$ref": "#/components/schemas/ClusterLayoutVersionStatus"
|
||||
},
|
||||
"storageNodes": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"ClusterLayoutVersionStatus": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Current",
|
||||
"Draining",
|
||||
"Historical"
|
||||
]
|
||||
},
|
||||
"ConnectClusterNodesRequest": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@@ -1894,6 +1955,44 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"GetClusterLayoutHistoryResponse": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"currentVersion",
|
||||
"minAck",
|
||||
"versions"
|
||||
],
|
||||
"properties": {
|
||||
"currentVersion": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"minAck": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"updateTrackers": {
|
||||
"type": [
|
||||
"object",
|
||||
"null"
|
||||
],
|
||||
"additionalProperties": {
|
||||
"$ref": "#/components/schemas/NodeUpdateTrackers"
|
||||
},
|
||||
"propertyNames": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ClusterLayoutVersion"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"GetClusterLayoutResponse": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
@@ -3060,6 +3159,31 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"NodeUpdateTrackers": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"ack",
|
||||
"sync",
|
||||
"syncAck"
|
||||
],
|
||||
"properties": {
|
||||
"ack": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"sync": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
},
|
||||
"syncAck": {
|
||||
"type": "integer",
|
||||
"format": "int64",
|
||||
"minimum": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"PreviewClusterLayoutChangesResponse": {
|
||||
"oneOf": [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user