The OpenStack provider in pkgcloud supports the following services:
- BlockStorage (Cinder)
- Compute (Nova)
- Databases (databases)
- Storage (Swift)
- Network (Neutron)
- Orchestration (Heat)
We've provided a simple compute example where it creates a couple of compute instances.
For all of the Openstack services, you create a client with the same options:
var openstack = pkgcloud.storage.createClient({
provider: 'openstack', // required
username: 'your-user-name', // required
password: 'your-password', // required
authUrl: 'your identity service url' // required
});
Note: Due to variances between OpenStack deployments, you may or may not need a region
option.
All of the Openstack createClient
calls have a few options that can be provided:
region
specifies which region of a service to use.
var client = require('pkgcloud').compute.createClient({
provider: 'openstack',
username: 'your-user-name',
password: 'your-api-key',
authUrl: 'https://your-identity-service'
region: 'Calxeda-AUS1'
});
When you make your first call to a Openstack provider, your client is authenticated transparent to your API call. Openstack will issue you a token, with an expiration. When that token expires, the client will automatically re-authenticate and retrieve a new token. The caller shouldn't have to worry about this happening.