Using Cyberduck and duck CLI to access Oracle Cloud Infrastructure Classic Storage

Stephen Cross
Oct 31, 2017 · 2 min read

Cyberduck is a free (donation supported) remote file and object store management client available for Windows and MacOS. This article provides a quick overview of using Cyberduck, and the associate duck CLI, with the Oracle Cloud Infrastructure Storage Classic object storage services

First download and install Cyberduck and duck from https://cyberduck.io and https://duck.sh/, or use one of the supported package installer such a Choco on Windows, or Homebrew on MacOS, e.g.

$ brew cask install cyberduck
$ brew install duck

Cyberduck

To use the Cyberduck UI with your Oracle Cloud Infrastructure Storage Classic account first download and import the Oracle Storage Cloud.cyberduckprofile to setup the Oracle Cloud specific Swift configuration profile.

$ wget "https://trac.cyberduck.io/raw-attachment/wiki/help/en/howto/oraclecloud/Oracle Storage Cloud.cyberduckprofile"
$ open "./Oracle Storage Cloud.cyberduckprofile"

After the profile has been imported an “Oracle Storage Cloud” selection will appear as a new connection type

To connect to a storage account set the required account credentials

Server - the tenancy specific storage URL, starting with the identity domain or service id, e.g.

example.storage.oraclecloud.com

ServiceName-IdentityDomain:Username - The Storage account username in the format “Storage-<identitydomain>:<username>” e.g.

Storage-example:user@example.com

duck CLI

The duck command line interface uses the same Oracle Storage Cloud.cyberduckprofile configured above in the Cyberduck GUI. After the the .cyberduckprofile has been imported in the UI the duck command line tool will show support for an additional oracle:// connection protocol

As before the username must be in the format “Storage-<identitydomain>:<username>”. The container path must include the full storage cloud URL with the Identity Domain or Service ID prefix, e.g.

$ duck --username Storage-example:user@example.com \ 
--password PASSWORD \
--list oracle://example.storage.oraclecloud.com/mycontainer/

The duck CLI can be provides and easy way to automate file upload, download and synchronization tasks.

Upload a Compute Cloud virtual machine image to the compute_images container

$ duck --username Storage-example:user@example.com \
--password PASSWORD \
--parallel 5 \
--upload oracle://example.storage.oraclecloud.com/compute_images/ myimage.tar.gz

Download an object

$ duck --username Storage-example:user@example.com \
--password PASSWORD \
--parallel 5 \
--download oracle://example.storage.oraclecloud.com/source.dat ./target.dat

Synchronize a local directory with a remote container

$ duck --username Storage-example:user@example.com \
--password PASSWORD \
--synchronize oracle://example.storage.oraclecloud.com/target/ ./source

Oracle Groundbreakers

Aggregation of articles from Oracle engineers…

Stephen Cross

Written by

Product Manager, Oracle Cloud Infrastructure

Oracle Groundbreakers

Aggregation of articles from Oracle engineers, Groundbreaker Ambassadors, ACEs, and the developer community on all things Oracle Cloud and its technologies. The views expressed are those of the authors and not necessarily those of Oracle. Contact @jimgris or @brhubart

Stephen Cross

Written by

Product Manager, Oracle Cloud Infrastructure

Oracle Groundbreakers

Aggregation of articles from Oracle engineers, Groundbreaker Ambassadors, ACEs, and the developer community on all things Oracle Cloud and its technologies. The views expressed are those of the authors and not necessarily those of Oracle. Contact @jimgris or @brhubart

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store