Orbit Object Storage
Orbit is Brightbox’s durable and highly available data storage system, based on OpenStack Swift.
Every object is replicated to three distinct physical storage devices.
Objects are usually files you want to store, and have associated metadata that describe the data and can change the way it is handled.
Objects are stored within containers, which are basically like directories.
Containers can have any name that you choose and are stored within your account. Accounts are named after your Brightbox account identifier (e.g: acc-xxxxx
).
Orbit URLs look like this:
https://orbit.brightbox.com/{api-version}/{account-identifier}/{container-name}/{object-name}
You can store and retrieve data using the OpenStack Swift compatible HTTP API, or using our SFTP service.
Our Image Library uses Orbit to store Cloud Server and Cloud SQL instance snapshots. They’re available from the special images
container in each account.
Authentication
You can authenticate with Orbit using your Brightbox username and password, or an API Client identifier and secret.
If you’re integrating another system with Orbit it’s recommended to use an API Client, rather than have your system be authenticating as you.
API Clients in Orbit Storage Only
privilege mode can only be used with the Orbit API and will be denied access to other resources (such as Cloud Servers, Load Balancers etc). Orbit-only API Clients can access no Orbit containers by default and must be explicitly granted read or write access.
Orbit-only API Clients can only manage objects and cannot list, create or modify containers themselves.
API
Orbit provides an OpenStack Swift API, for which there are many compatible libraries and tools such as:
- Rclone, rsync for cloud storage
- OpenStack Swift Python client bindings
- Our very own Ruby interface, Fog
- Duplicity, the encrypted bandwidth-efficient rsync-like backup system
- Several JAVA tools
- GO Language interface
- php-opencloud
- Python’s libcloud
- Swiftly is another python command line interface for Swift
- CyberDuck, GUI cloud storage browser
- Hadoop OpenStack support
S3 Support
Orbit supports a S3 compatibility layer. Just configure your S3 tools to use the
Orbit endpoint and set the region to gb1
.
For example, the s3cmd tool can be used directly like this:
$ s3cmd --region=gb1 --host=orbit.brightbox.com --host-bucket=orbit.brightbox.com \
--access_key=cli-aaaaa --secret_key=xxxxxx ls s3://images
Or for the official command line interface tool awscli, use the awscli-endpoint plugin with a config like this:
[plugins]
endpoint = awscli_plugin_endpoint
[profile default]
aws_access_key_id = cli-aaaaa
aws_secret_access_key = xxxxxxxx
region = gb1
s3 =
endpoint_url = https://orbit.brightbox.com
Authentication with API Client credentials is supported but not User credentials. You’ll need to reset the secrets on any any API Clients created before February 2019 before they’ll work with S3.
SSH File Transfer Protocol
We provide an SFTP service for use with Orbit. You can read and write objects using any SFTP-compatible client, such as Cyberduck, WinSCP, or just the standard sftp
command line tool.
Just connect to sftp.orbit.brightbox.com
using your Brightbox email address and password, or your API client and secret.
$ sftp -o User=john@example.com sftp.orbit.brightbox.com
john@example.com@sftp.orbit.brightbox.com's password:
Connected to sftp.orbit.brightbox.com.
sftp> ls
container1
container2
images
If you are a collaborator on multiple accounts, then you can specify the account by adding the account identifier to the end of the username, separated with a colon:
$ sftp -o User=john@example.com:acc-xxxxx sftp.orbit.brightbox.com
Guides
- Using Orbit with the swift CLI tool
- Accessing Orbit via HTTP using curl.
- Using Orbit with the CarrierWave gem
- Accessing Orbit using SSH file transfer protocol
- Orbit Container Access Control
Billing
Orbit is charged per gigabyte of storage used per month, and per gigabyte of data transferred out to the Internet. Incoming data and incoming or outgoing data from/to Brightbox Cloud Servers is free