Skip to main content

How to Configure and Use Rclone for Swift S3 API Access on OpenMetal

Objective​

This guide will show you how to configure and use the rclone CLI tool to interact with your OpenMetal clouds' Ceph-backed Object store via the Swift S3 API.

Prerequisites​

Install​

Script installation is provided for Linux and related systems

sudo -v ; curl https://rclone.org/install.sh | sudo bash

Configure​

Quick Config​

The default location for the configuration file:

  • ~/.config/rclone/rclone.conf

The minimum required values are provided in the following example:

[backup-demo] # Name to be used when calling remote
type = s3
provider = Other
access_key_id = <access-key>
secret_access_key = <secret-key>
endpoint = http(s)://<cloud-domain-or-ip>:8080/
acl = private

Guided config​

Guided configuration is provided with rclone config which will prompt for the following values:

$ rclone config
2022/12/12 19:47:27 NOTICE: Config file "/home/ubuntu/.config/rclone/rclone.conf" not found - using defaults
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> backup-demo

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
[...]
Storage> 5

Option provider.
Choose your S3 provider.
Choose a number from below, or type in your own value.
Press Enter to leave empty.
[...]
provider> 24

Option env_auth.
[...]
env_auth> false

Option access_key_id.
[...]
access_key_id> <access-key>

Option secret_access_key.
[...]
secret_access_key> <secret-key>

Option endpoint.
[...]
endpoint> http(s)://<cloud-domain-or-ip>:8080/

Option location_constraint.
[...]
Enter a value. Press Enter to leave empty.
location_constraint>

Option acl.
[...]
acl> 1

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Configuration complete.

Basic usage​

  • rclone lsd - List all directories at remote path:

    $ rclone lsd backup-demo:
    -1 2022-11-01 16:08:29 -1 openmetal-bucket
  • rclone mkdir - Make a new path if it doesn't already exist:

    rclone mkdir backup-demo:/test-bucket
  • rclone sync - Make source and dest identical, modifying destination only:

    rclone sync /local/path remote:path

Reference​