How to work with the ServerPlus cloud via API
What the ServerPlus API is
The ServerPlus cloud is built on OpenStack, so you can manage it not only through the control panel but also programmatically — via the standard OpenStack API. Everything available in the panel (servers, volumes, networks, Kubernetes clusters) is available through the API too: handy for automation, CI/CD, Terraform and scripts.
The main benefit is compatibility with the OpenStack ecosystem: the official CLI, Python and Go SDKs, the Terraform provider and Ansible all work out of the box. There is nothing proprietary to learn.
Endpoint and region
The identity service (Keystone) endpoint:
https://identity.serverplus.uz/v3You obtain a token through it, and the client discovers the other service addresses from the catalog automatically. There is a single region — RegionOne.
Installing the CLI
The official client installs via pip (Python 3 required):
pip install python-openstackclient
openstack --versionIf the terminal reports command not found: openstack, the pip scripts directory is not in your PATH — add ~/.local/bin (Linux) or the corresponding directory (macOS), or use a virtual environment.
Authentication
Option 1. RC file
Download the OpenStack RC file from the panel and source it in your terminal:
source ./serverplus-openrc.sh
openstack server listDownside: the RC file contains your main account password. For ongoing work and scripts, option 2 is better.
Option 2. Application Credentials (recommended)
A separate "id + secret" pair that can be scoped and revoked without changing your main password:
openstack application credential create my-automation --description "key for scripts"The secret is shown only once — save it.
The clouds.yaml file
It is cleaner to store access in ~/.config/openstack/clouds.yaml:
clouds:
serverplus:
auth_type: v3applicationcredential
auth:
auth_url: https://identity.serverplus.uz/v3
application_credential_id: <ID>
application_credential_secret: <SECRET>
region_name: RegionOne
interface: public
identity_api_version: 3After that all commands are run like this:
export OS_CLOUD=serverplus
openstack server listFirst commands
openstack catalog list # available services
openstack server list # your servers
openstack image list # OS images
openstack flavor list # flavors
openstack network list # networksAccess security
- Do not keep your main password in scripts — use application credentials, which can be revoked individually.
- Keep
clouds.yamlwithchmod 600permissions and out of git. - Rotate automation keys periodically; revoke them immediately if you suspect a leak.