It’s no secret that our object storage system, Orbit, runs Openstack Swift under the hood. The Openstack Swift storage API is widely supported so it’s easy to integrate Orbit into your systems and applications.
And as of today, we now support the Swift v3 keystone authentication API, which widens support further. Here’s a few examples:
swift’s own CLI tool obviously works nicely:
$ swift --os-auth-url https://orbit.brightbox.com --auth-version 3 --os-project-name acc-xxxxx --os-username email@example.com --os-password passwordhere list
restic is a tool which will manage encrypted deduplicated backups for you while handle things like retention periods etc.
$ OS_AUTH_URL=https://orbit.brightbox.com/v3 OS_USERNAMEfirstname.lastname@example.org OS_PASSWORD=passwordhere OS_PROJECT_NAME=acc-xxxxx restic -r swift:mybackups:/ backup recipes enter password for repository: ****************** repository 74e435a9 opened successfully, password is correct no parent snapshot found, will read all files Files: 27485 new, 0 changed, 0 unmodified Dirs: 4291 new, 0 changed, 0 unmodified Added to the repo: 423.645 MiB processed 27485 files, 575.490 MiB in 2:48 snapshot 49e71f99 saved
rclone is an amazing tool: it’s basically rsync but works
with remote storage APIs too, including Orbit. It still uses the
terminology rather than the newer
project but it works fine:
$ rclone --swift-auth https://orbit.brightbox.com/v3 --swift-tenant acc-xxxxx --swift-user email@example.com --swift-key passwordhere lsd :swift:
cyberduck is graphical client with support for various storage backends, including Swift:
The activestorage-openstack gem brings Swift support to Ruby/Rails applications and uses v3 auth by default. You’ll want to use API client credentials here, not user credentials, and you’ll need to create a temp url key for the container too:
brightbox: service: OpenStack container: myfiles credentials: openstack_auth_url: https://orbit.brightbox.com openstack_username: cli-xxxxx openstack_api_key: keyhere openstack_project_name: acc-xxxxx openstack_region: gb1 openstack_temp_url_key: tempurlkey
These examples use user authentication. If your user has two factor authentication enabled then you’ll need to use an access token in place of your password, which you can obtain using the brightbox command line tool:
$ brightbox token create access_token: 286755fad04869ca523320acce0dc6a4 refresh_token: 10b222970537b97919db36ec757370d2 token_type: Bearer
Users can belong to several accounts, so you specify which account you want to
work with using the
project parameter (sometimes referred to as
You can also authenticate using API client
credentials which can also be
used to restrict access to specific containers, and control read/write
privileges - perfect for using with automated systems. API Clients only every
belong to one account, but you still need to specify the
when using them.
To try out Orbit, you can sign up in a minute and get £50 free credit. After that, you just pay per gigabyte.