Провайдеры
Прежде чем перейти к управлению провайдерами в платформе, авторизуйтесь в платформе.
Получить список провайдеров
Команда
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.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 -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.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": "РЕД ОС-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 -s -L --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 -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.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 -s -L --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 -s -L --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": ""
}
Создание провайдера 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": "b1gcffn350amfsa9p4f1",
"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": "b11",
"identityName": "provideryandexname",
"loadBalancerInternal": false,
"loadBalancerType": "ALB",
"networkID": "en5tl",
"subnetID": "be2",
"templates": [
{
"template": "fd82on1a0r7eca1pmmia",
"kubeVersion": "v1.33.1"
}
],
"zoneID": "zone-c",
"volumeTypes": [
"network-ssd"
]
}
EOF
) | jq -r
Пример ответа в формате json при успешном создании провайдера Yandex Cloud
{
"identityName": "provideryandexname",
"connectInfo": {
"key": ""
},
"templateNetInterface": "",
"templates": [
{
"template": "fdia",
"kubeVersion": "v1.33.1"
}
],
"folderID": "b11",
"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"