Провайдеры
Прежде чем перейти к управлению провайдерами в платформе, авторизуйтесь в платформе. Инструкция по авторизации находится на странице Авторизация в платформе.
Получить список провайдеров
Команда
curl -k --silent --location --request GET $BACKENDPOINT/api/v1/platform/providers
--header "Authorization: Bearer $token" | jq -r
Пример ответа в формате json
[
{
"providerType": "capov",
"configs": [
{
"name": "capov-name",
"kubeVers": [
"v1.29.6"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capvs",
"configs": [
{
"name": "capvs",
"kubeVers": [
"v1.29.6"
],
"allowEditCSI": false,
"IPAddressPoolName": "name-pool",
"IPAddressPoolAvailableCount": 1
}
]
},
{
"providerType": "capbd",
"configs": [
{
"name": "capbd-name",
"kubeVers": [
"v1.29.6"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capos",
"configs": [
{
"name": "capos-name",
"kubeVers": [
"v1.29.6"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capsmv2",
"configs": [
{
"name": "capsmv2-name",
"kubeVers": [
"v1.29.6"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
]
Создание провайдера vSphere
Команда
curl -k --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capvs
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"IPAddressPoolName": "name-pool",
"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": "identityname",
"network": "/StendCloud/network/data",
"resourcePool": "/StendCloud/host/StendCloud/Resources/Name",
"storagePolicyName": "",
"template": [
{
"key": "redos-7.3.2-shturval",
"value": "v1.29.6"
}
],
"templateNetInterface": "enp1s0"
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера vSphere
{ "identityName": "identityname",
"provider": {
"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,
"IPAddressPoolName": "name-pool"
},
"ready": false
}
Создание провайдера oVirt
Команда
curl -k --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capov
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"IPAddressPoolName": "",
"VNICProfile": "VNI",
"allowEditCSI": false,
"cluster": "RHVLab",
"connection": {
"passwd": "password",
"tls": {
"cert": true,
"certs": "",
"insecure": true
},
"url": "https://rhv-mg.aaaaa.bbb.cc/ovirt-engine/api",
"user": "name"
},
"name": "identityname",
"datacenter": "datacenter",
"templates": [
{
"template": "AstraLinux1.7.3uu2",
"kubeVersion": "v1.29.6"
}
],
"templateNetInterface": "eth0",
"csistorageDomainName": "hosted_storage"
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера oVirt
{
"name": "identityname",
"cluster": "RHVLab",
"VNICProfile": "VNI",
"allowEditCSI": false,
"VMType": "server",
"templateNetInterface": "eth0",
"connection": {
"url": "https://rhv-mg.aaaaa.bbb.cc/ovirt-engine/api",
"user": "name",
"passwd": "password",
"tls": {
"cert": true,
"insecure": true
}
},
"templates": [
{
"template": "AstraLinux1.7.3uu2",
"kubeVersion": "v1.29.6"
}
],
"datacenter": "datacenter",
"csistorageDomainName": "hosted_storage",
"IPAddressPoolName": "",
"infraProviderName": ""
}
Создание провайдера Basis Dynamix
Команда
curl -k --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capbd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "name",
"accountName": "Shturval",
"rgName": "dev-2.6",
"templateNetInterface": "eth0",
"connection": {
"decordUrl": "https://mr4.digitalenergy.online/",
"ssoUrl": "https://sso.digitalenergy.online",
"appId": "хххххх",
"appSecret": "dddddd",
"skipSSLVerification": true
},
"templates": [
{
"template": "pfSASE",
"kubeVersion": "v1.29.6"
}
],
"extNetName": "NAME",
"vinsName": "res_group_internal",
"haLoadBalancer": true
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера Basis Dynamix
{
"name": "name",
"accountName": "Shturval",
"rgName": "dev-2.6",
"templateNetInterface": "eth0",
"connection": {
"decordUrl": "https://mr4.digitalenergy.online/",
"ssoUrl": "https://sso.digitalenergy.online",
"appId": "хххххх",
"appSecret": "dddddd",
"skipSSLVerification": true
},
"templates": [
{
"template": "pfSASE",
"kubeVersion": "v1.29.6"
}
],
"extNetName": "NAME",
"vinsName": "res_group_internal",
"haLoadBalancer": true
}
Создание провайдера OpenStack
Команда
curl -k --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capos
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "identityname",
"cloudName": "хххххх",
"templateNetInterface": "eth0",
"cloudconfig": {
"config": {
"auth": {
"auth_url": "https://ххххх:1111/v1/",
"project_id": "gnfnh23233",
"user_domain_name": "users",
"project_domain_id": "af2c48d2"
},
"auth_type": "password",
"region_name": "RegionOne",
"interface": "public",
"identity_api_version": "1",
"verify": false
}
},
"templates": [
{
"template": "shturval250",
"kubeVersion": "v1.29.6"
}
],
"externalNetworkID": "fgb4577a2",
"sshKeyName": "sshkeyname",
"flavors": [
"STD3-6-12",
"STD3-4-8"
],
"volumeTypes": [
"ceph-ssd"
],
"nodeCIDR": "10.0.0.0/24",
"managedSecurityGroups": "true"
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера OpenStack
{
"name": "identityname",
"cloudName": "хххххх",
"templateNetInterface": "eth0",
"cloudconfig": {
"config": {
"auth": {
"auth_url": "https://ххххх:1111/v1/",
"project_id": "gnfnh23233",
"user_domain_name": "users",
"project_domain_id": "af2c48d2"
},
"auth_type": "password",
"region_name": "RegionOne",
"interface": "public",
"identity_api_version": "1",
"verify": false
}
},
"templates": [
{
"template": "shturval250",
"kubeVersion": "v1.29.6"
}
],
"externalNetworkID": "fgb4577a2",
"sshKeyName": "ssh_key",
"flavors": [
"STD3-6-12",
"STD3-4-8"
],
"volumeTypes": [
"ceph-ssd"
],
"nodeCIDR": "10.0.0.0/24",
"managedSecurityGroups": "true"
}
Создание провайдера Shturval v2
Команда
curl -k --silent --location --request POST $BACKENDPOINT/api/v1/platform/providers/capsmv2
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "namecapsmv2",
"IPAddressPoolName": "poolname",
"credentials": {
"SSH": {
"privateKey": "privateKey",
"userName": "userName"
}
},
"hosts": [
{
"address": "10.10.10.10",
"labelsSelector": {
"provider_config_name": "provider"
},
"credentials": null
},
]
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера Shturval v2
{
"name": "namecapsmv2",
"hosts": [
{
"address": "10.10.10.10",
"labelsSelector": {
"provider_config_name": "provider"
},
"credentials": null
},
],
"credentials": {
"SSH": {
"userName": "userName",
"privateKey": ""
}
},
"IPAddressPoolName": "poolname",
"infraProviderName": ""
}
Удаление провайдера
Команда удаление провайдера vSphere
export PROVIDERNAME="provider-name"
curl -k --location --request DELETE $BACKENDPOINT/api/v1/platform/providers/capvs/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера oVirt
export PROVIDERNAME="provider-name"
curl -k --location --request DELETE $BACKENDPOINT/api/v1/platform/providers/capov/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера Basis Dynamix
export PROVIDERNAME="provider-name"
curl -k --location --request DELETE $BACKENDPOINT/api/v1/platform/providers/capbd/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера OpenStack
export PROVIDERNAME="provider-name"
curl -k --location --request DELETE $BACKENDPOINT/api/v1/platform/providers/capos/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера Shturval v2
export PROVIDERNAME="provider-name"
curl -k --location --request DELETE $BACKENDPOINT/api/v1/platform/providers/capsmv2/$PROVIDERNAME
--header "Authorization: Bearer $token"