Провайдеры
Подготовка переменных для авторизации
export INGRESS="apps.ip-10-31-145-205.shturval.link"
export AUTHENDPOINT="http://auth.$INGRESS"
export BACKENDPOINT="http://back.$INGRESS"
export SHTURVAL_AUTH='{"login":"admin", "password":"ppppppppppppp"}'
export TOKEN=$(curl --request POST --silent --url $AUTHENDPOINT/auth/login --header 'Authorization: Bearer undefined'
--header 'Content-Type: application/json' --data "$SHTURVAL_AUTH" | jq -r '.token')
export AUTHHEADER="Authorization: Bearer $TOKEN"
Получить список провайдеров
curl --silent --location --request GET $BACKENDPOINT/api/v1/platform/providers/capvs
--header "Authorization: Bearer $TOKEN" | jq -r
В ответе ожидается json такого формата:
[
{
"providerType": "capsm",
"configs": [
{
"name": "default",
"kubeVers": [
"v1.26.5"
],
"allowEditCSI": false
}
]
},
{
"providerType": "capvs",
"configs": [
{
"name": "capvs",
"kubeVers": [
"v1.25.9"
],
"allowEditCSI": false
}
]
Создание провайдера vSphere
curl --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capvs
--header "Authorization: Bearer $TOKEN" | jq -r
--data @<(cat <<EOF
{
"allowEditCSI": false,
"cloneMode": "linkedClone",
"connectInfo": {
"passwd": "string",
"url": "string",
"user": "string"
},
"datacenter": "string",
"datastore": "string",
"folder": "string",
"identityName": "string",
"network": "string",
"resourcePool": "string",
"storagePolicyName": "string",
"template": [
{
"key": "string",
"value": "string"
}
],
"templateNetInterface": "string"
}
Пример:
{
"allowEditCSI": false,
"cloneMode": "linkedClone",
"connectInfo": {
"passwd": "mypassword",
"url": "stendcloud.aaaaaaa.bb:443",
"user": "myusername"
},
"datacenter": "/StendCloud",
"datastore": "StendCloud_Name",
"folder": "/StendCloud/vm/StendCloud/Name/",
"identityName": "ownername",
"network": "/StendCloud/network/data",
"resourcePool": "/StendCloud/host/StendCloud/Resources/Name",
"storagePolicyName": "",
"template": [
{
"key": "redos-7.3.2-shturval",
"value": "v1.25.9"
}
],
"templateNetInterface": "enp1s0"
}
При успешном создании провайдера vsphere, в ответе ожидается json такого формата:
{
"vCenterAddress": "stendcloud.aaaaaaa.aa:443",
"user": "",
"passwd": "",
"thumbprint": "A1:F1:C8:9F:04:E8:13:7A:87:39:D0:EA:10:96:40:57:FE:D0:77:3E",
"datacenter": "/StendCloud",
"datastore": "StendCloud_Name",
"storagePolicyName": "",
"cloneMode": "",
"folder": "/StendCloud/vm/StendCloud/Name/",
"network": "/StendCloud/network/data",
"template": [
{
"key": "redos-7.3.2-shturval",
"value": "v1.25.9"
}
],
"templateNetInterface": "enp1s0",
"resourcePool": "/StendCloud/host/StendCloud/Resources/Name",
"allowEditCSI": false
}
Удаление провайдера
Удаление провайдера vSphere:
export PROVIDERNAME="provider-name"
curl --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capvs/$PROVIDERNAME
--header "Authorization: Bearer $TOKEN" | jq -r
Удаление провайдера oVirt:
export PROVIDERNAME="provider-name"
curl --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capov/$PROVIDERNAME
--header "Authorization: Bearer $TOKEN" | jq -r