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 canonicalgithub.com/gophercloud/gophercloud/v2Go SDK — the upstream OpenStack-native Go binding. Auth happens via Keystone V3 password auth once atConnect(); per-serviceServiceClientinstances are resolved via the Keystone catalog. Seeopenstack-batch.mdfor 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¶
- Connector SDK guide — adding a new connector
- aws and azure and google — the public-cloud equivalents
- storage — non-OpenStack object stores (Box, Dropbox, MinIO, Cloudflare R2, Wasabi)