Skip to content

openstack connectors

OpenStack cloud service integrations.

2026-06-19 update: 5 of the 6 connectors (keystone, nova, neutron, swift, glance) were rewritten to use the canonical github.com/gophercloud/gophercloud/v2 Go SDK — the upstream OpenStack-native Go binding. Auth happens via Keystone V3 password auth once at Connect(); per-service ServiceClient instances are resolved via the Keystone catalog. See openstack-batch.md for the deep audit.

Connectors in this category

Connector URI / type Auth Native SDK One-line description
cinder connector://cinder/send Keystone token No (HTTP) Cinder block-storage volumes + snapshots + backups. (Stub — pending gophercloud blockstorage migration.)
glance connector://glance/send Keystone V3 password gophercloud/gophercloud/v2 Glance image v2: list / get / create / delete / upload-data / download-data / update.
keystone connector://keystone/send Keystone V3 password gophercloud/gophercloud/v2 Keystone identity v3: projects / users / roles + token introspection.
neutron connector://neutron/send Keystone V3 password gophercloud/gophercloud/v2 Neutron networking v2: networks / subnets / ports / routers / security groups.
nova connector://nova/send Keystone V3 password gophercloud/gophercloud/v2 Nova compute v2: server lifecycle (list/get/create/delete/start/stop/reboot) + flavors.
swift connector://swift/send Keystone V3 password gophercloud/gophercloud/v2 Swift object storage v1: containers + objects + metadata.

Auth flow

All five gophercloud-backed connectors authenticate the same way: each one's Connect() calls openstack.AuthenticatedClient(ctx, gophercloud.AuthOptions{IdentityEndpoint, Username, Password, DomainName, TenantName, Scope}) and resolves its service endpoint through the Keystone catalog. The per-service client is held inside the connector — no token plumbing or re-auth needed at the route layer.

Shared config schema

All five connectors expose the same auth fields (via pkg/connector/connectors/openstack/openstack_common.go):

Field Required Description
auth_url yes Keystone v3 identity endpoint, e.g. https://cloud.example.com:5000/v3.
username yes OpenStack user name.
password yes OpenStack user password. Sensitive.
project_name yes Project (tenant) name to scope the token.
domain_name no Keystone domain name. Defaults to Default.
region no OpenStack region for catalog endpoint resolution.
timeout_seconds no Per-request HTTP timeout. Defaults to 30.

See also