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