In this page you will find documentation about the different SWIFT clients that are available. SWIFT can be addressed with its own native protocol and with the S3 protocol.

More detailed information on the compatibility of the SWIFT S3 implementation with AWS S3 may be found at: https://docs.openstack.org/swift/latest/s3_compat.html

Authentication

In order to use the SWIFT service you need a user name and a password. SWIFT supports so-called v3 authentication. For v3 authentication, you have projects. Unless we agree upon something else, your project name is the same as your user name. In v3 authentication there are domains for both users and projects. If you have an account in SURFsara’s Central User Administration (CUA) system, then both your project domain as your user domain is CuaUsers. When you only have a local account, then both domains are equal to Default.

In order to be able to use the S3 protocol, you need to get to create so-called EC2 credentials, i.e. an access key and a secret key. How this works is described in EC2 credentials for S3.

Command line clients

  • Swift

    • Python SWIFT client

    • Curl

    • rclone

  • S3

    • S3cmd

    • AWS S3 client (awscli)

    • S5cmd, for parallel file transfers

    • rclone

GUI's

  • Cyberduck

Mounted file systems

  • S3QL: It is possible to mount SWIFT object storage as a file system with s3ql both using swift’s native protocol and S3. S3QL has features like compression, encryption, data de-duplication, immutable trees and snapshotting which make it especially suitable for online backup and archival. The s3ql page has more information.

  • S3FS: It is possible to mount SWIFT object storage as a file system with s3fs using the S3 protocol. The s3fs page has more information.
  • RcloneUsing rclone mount you can use rclone to mount SWIFT using the native SWIFT protocol as well as S3.

  • Goofys: Goofys is a tool written in golang to mount S3 object stores. Information may be found at the goofys page.

Backups

DuplicityDuplicity is a backup tool that amongst others supports cloud storage systems. More information about this can be found at the duplicity page.

Synchronisation

RcloneRclone is the rsync for cloud storage. Here is more information on how to use rclone on the rclone page.

Libraries and APIs

  • Python libraryThe python library page gives you information on the python-swiftclient library.

  • REST API: SWIFT offers a REST API. Information about this API and some examples are described at the API page.

  • Boto3: Boto3 is the AWS SDK for python developed by Amazon. It contains of course an S3 part to access object stores. At boto3 has information on how to use it.