Провайдеры
Прежде чем перейти к управлению провайдерами в платформе, авторизуйтесь в платформе.
Получить список провайдеров
Команда
curl -k -s -L --request GET $BACKENDPOINT/api/v1/platform/providers
--header "Authorization: Bearer $token" | jq -r
Пример ответа в формате json
[
{
"providerType": "capov",
"configs": [
{
"name": "capov-name",
"kubeVers": [
"v1.34.1"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capvs",
"configs": [
{
"name": "capvs",
"kubeVers": [
"v1.34.1"
],
"allowEditCSI": false,
"IPAddressPoolName": "name-pool",
"IPAddressPoolAvailableCount": 1
}
]
},
{
"providerType": "capbd",
"configs": [
{
"name": "capbd-name",
"kubeVers": [
"v1.34.1"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capos",
"configs": [
{
"name": "capos-name",
"kubeVers": [
"v1.34.1"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
{
"providerType": "capsmv2",
"configs": [
{
"name": "capsmv2-name",
"kubeVers": [
"v1.34.1"
],
"allowEditCSI": false,
"IPAddressPoolName": "",
"IPAddressPoolAvailableCount": 0
}
]
},
]
Создание провайдера vSphere
Команда
curl -k -s -L --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": "РЕД ОС-7.3.2-shturval",
"value": "v1.34.1"
}
],
"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": "РЕД ОС-7.3.2-shturval",
"value": "v1.34.1"
}
],
"templateNetInterface": "enp1s0",
"resourcePool": "/StendCloud/host/StendCloud/Resources/Name",
"allowEditCSI": false,
"IPAddressPoolName": "name-pool"
},
"ready": false
}
Создание провайдера oVirt
Команда
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/capov
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "identityname",
"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"
},
"datacenter": "datacenter",
"templates": [
{
"template": "AstraLinux",
"kubeVersion": "v1.34.1"
}
],
"templateNetInterface": "eth0",
"csistorageDomainName": "hosted_storage",
"IPAddressPoolName": "",
"providerSubtype": "rosavirt",
"infraProviderName": ""
}
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": "AstraLinux",
"kubeVersion": "v1.34.1"
}
],
"datacenter": "datacenter",
"csistorageDomainName": "hosted_storage",
"IPAddressPoolName": "",
"providerSubtype": "rosavirt",
"infraProviderName": ""
}
Создание провайдера Basis Dynamix
Команда
curl -k -s -L --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.34.1"
}
],
"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.34.1"
}
],
"extNetName": "NAME",
"vinsName": "res_group_internal",
"haLoadBalancer": true
}
Создание провайдера OpenStack
Команда
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/capos
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "identityname",
"cloudconfig": {
"config": {
"auth": {
"auth_url": "https://ххххх:1111/v3/",
"project_domain_id": "36d4ecf",
"project_id": "c3cf4f8101",
"username": "username@example.ru",
"user_domain_name": "users",
"password": "mypassword"
},
"auth_type": "password",
"verify": false,
"identity_api_version": "3",
"interface": "public",
"region_name": "RegionOne"
}
},
"nodeCIDR": "10.0.0.0/24",
"sshKeyName": "sshKeyName",
"cloudName": "vkcloud",
"templateNetInterface": "eth0",
"externalNetworkID": "ec8c6",
"flavors": [
"STD2-16-32",
"STD2-8-20"
],
"templates": [
{
"template": "ubuntu24",
"kubeVersion": "v1.33.1"
}
],
"volumeTypes": [
"high-iops"
],
"managedSecurityGroups": "true",
"enableCSI": false,
"disablePortSecurity": "false",
"dns": [
""
],
"allowEditCSI": false,
"availabilityZones": [
"GZ1",
"PA2"
],
"providerSubtype": "vkcloud"
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера OpenStack
{
"name": "identityname",
"allowEditCSI": false,
"cloudName": "vkcloud",
"templateNetInterface": "eth0",
"cloudconfig": {
"config": {
"auth": {
"auth_url": "https://ххххх:1111/v3/",
"project_domain_id": "36d4ecf",
"project_id": "c3cf4f8101",
"username": "username@example.ru",
"user_domain_name": "users",
"password": "mypassword"
},
"auth_type": "password",
"identity_api_version": "3",
"verify": false
}
},
"templates": [
{
"template": "ubuntu24",
"kubeVersion": "v1.33.1"
}
],
"externalNetworkID": "ec8c6",
"sshKeyName": "sshKeyName",
"flavors": [
"STD2-16-32",
"STD2-8-20"
],
"volumeTypes": [
"high-iops"
],
"nodeCIDR": "10.0.0.0/24",
"nodeSubnetDNS": null,
"managedSecurityGroups": "true",
"disablePortSecurity": "false",
"rootVolumeAvailabilityZone": "",
"availabilityZones": [
"GZ1",
"PA2"
],
"providerSubtype": "vkcloud"
}
Создание провайдера Shturval v2
Команда
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/capsmv2
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"name": "identityname",
"IPAddressPoolName": "",
"credentials": {
"SSH": {
"privateKey": "privateKey",
"userName": "username"
}
},
"hosts": [
{
"address": "10.10.10.10",
"labelsSelector": {
"role": "controlplane"
},
"credentials": null
}
]
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера Shturval v2
{
"name": "identityname",
"hosts": [
{
"address": "10.10.10.10",
"labelsSelector": {
"role": "controlplane"
},
"credentials": null
}
],
"credentials": {
"SSH": {
"userName": "username",
"privateKey": "privateKey"
}
},
"IPAddressPoolName": "",
"infraProviderName": ""
}
Создание провайдера Yandex Cloud
Команда
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/capyc
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"allowedPlatformIDs": [
"standard"
],
"connectInfo": {
"folderId": "b1gcffn",
"key": "{\n \"id\": \"aj2u\",\n \"service_account_id\": \"e49pbe\",\n \"created_at\": \"2024-12-13T13:28:15.261795772Z\",\n \"key_algorithm\": \"RSA_2048\",\n \"public_key\": \"-----BEGIN PUBLIC KEY-----\\nMIIUEyYcDkOn\\nqTrn6lh52A\\nfQIDB\\n-----END PUBLIC KEY-----\\n\",\n \"private_key\": \"PLEASE DO NOT REMOVE THIS LINE! Yandex.Cloud SA Key ID <aje76qbj2u>\\n-----BEGIN PRIVATE KEY-----\\nM58VMZ0=\\n-----END PRIVATE KEY-----\\n\"\n}"
},
"folderID": "b1gcffn",
"identityName": "provideryandexname",
"loadBalancerInternal": false,
"loadBalancerType": "ALB",
"networkID": "en5tl",
"subnetID": "be2",
"templates": [
{
"template": "fd82",
"kubeVersion": "v1.33.1"
}
],
"zoneID": "zone-c",
"volumeTypes": [
"network-ssd"
]
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера Yandex Cloud
{
"identityName": "provideryandexname",
"connectInfo": {
"key": ""
},
"templateNetInterface": "",
"templates": [
{
"template": "fd82",
"kubeVersion": "v1.33.1"
}
],
"folderID": "b1gcffn",
"networkID": "en5tl",
"subnetID": "be2",
"zoneID": "zone-c",
"volumeTypes": [
"network-ssd"
],
"loadBalancerType": "ALB",
"loadBalancerInternal": false,
"allowedPlatformIDs": [
"standard"
]
}
Создание провайдера vCloud Director
Команда
curl -k -s -L --request POST $BACKENDPOINT/api/v1/platform/providers/capcd
--header "Authorization: Bearer $token"
--data @<(cat <<EOF
{
"connectInfo": {
"username": "username",
"password": "mypassword",
"refreshToken": "",
"org": "Shturval-Client-Cluster",
"connectType": "login",
"site": "https://example.ru"
},
"name": "identityname",
"catalog": "shturval",
"templates": [
{
"template": "Ubuntu_sthurvalv2.11.0",
"kubeVersion": "v1.33.1"
}
],
"sizingPolicies": [
"TKG"
],
"ovdc": "Shturval-Client-Cluster-v1cl4-vdc",
"vipSubnetName": "",
"network": "Network",
"providerType": "vCloud Director"
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера vCloud Director
{
"name": "identityname",
"connectInfo": {
"site": "https://example.ru",
"org": "Shturval-Client-Cluster",
"username": "username",
"password": "mypassword",
"refreshToken": ""
},
"ovdc": "Shturval-Client-Cluster-v1cl4-vdc",
"network": "Network",
"vipSubnet": "",
"catalog": "shturval",
"templates": [
{
"template": "Ubuntu_sthurvalv2.11.0",
"kubeVersion": "v1.33.1"
}
],
"placementPolicy": "",
"sizingPolicies": [
"TKG"
],
"allowEditCSI": false,
"IPAddressPoolName": ""
}
Удаление провайдера
Команда удаление провайдера vSphere
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capvs/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера oVirt
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capov/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера Basis Dynamix
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capbd/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера OpenStack
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capos/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера Shturval v2
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capsmv2/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера Yandex Cloud
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capyc/$PROVIDERNAME
--header "Authorization: Bearer $token"
Команда удаление провайдера vCloud Director
export PROVIDERNAME="provider-name"
curl -k -L --request DELETE $BACKENDPOINT/api/v1/platform/providers/capcd/$PROVIDERNAME
--header "Authorization: Bearer $token"