Skip to content

Reference

APIs and tools

The OpenStack APIs behind Breqwatr Cloud, and the tools this site uses to drive them.

Everything you do in the Breqwatr Cloud Portal (Strata), the OpenStack CLI, OpenTofu or Ansible goes through the same APIs, so a resource made with one tool can be read and changed with another.

APIs

Each API has a type in the service catalogue. Its endpoint for each region is in the catalogue, as in Regions and endpoints.

Service Type in the catalogue Covers OpenStack CLI commands
Identity identity Signing in, application credentials openstack application credential, openstack token issue
Compute compute Instances, flavours, key pairs openstack server, openstack flavor, openstack keypair
Block storage volumev3 Volumes, volume snapshots and backups openstack volume
Image image Images openstack image
Networking network Networks, routers, security groups, floating IPs openstack network, openstack router, openstack security group, openstack floating ip
Load balancing load-balancer Load balancers, listeners, pools, health monitors openstack loadbalancer (with python-octaviaclient)
Kubernetes (BKS) container-infra BKS clusters openstack coe cluster (with python-magnumclient)

To see which versions of an API are current:

openstack --os-cloud <cloud-name> versions show --service compute --status CURRENT

Tools

Tool What it is Install Version this site uses
OpenStack CLI The openstack command, with plugins for load balancing and BKS pip install python-openstackclient python-octaviaclient python-magnumclient, as in Install the OpenStack CLI The current release
OpenTofu Infrastructure as code: the tofu command As in Launch your first instances OpenTofu 1.13.1
OpenStack provider for OpenTofu The resources and data sources for Breqwatr Cloud terraform-provider-openstack/openstack, version ~> 3.4, which tofu init installs 3.4.0
Ansible Configuration and provisioning playbooks pip install ansible pywinrm, as in Configuration with Ansible Ansible 14.5.0 (ansible-core 2.21.5), on Python 3.14
openstack.cloud collection Ansible's modules and inventory for OpenStack Included in the ansible package 2.6.0

Ansible doesn't yet run on Python 3.15, which is why the OpenStack CLI's environment uses Python 3.14.

Signing in

Every tool signs in with an application credential, from the same clouds.yaml:

Tool Chooses the clouds.yaml entry with
OpenStack CLI --os-cloud <cloud-name>
OpenTofu OS_CLOUD=<cloud-name>
Ansible cloud: in a task, or only_clouds in the inventory