Using GoCommands to access Yoda

If you work with large amounts of data, you can use GoCommands. Yoda is based on iRODS technology and using GoCommands allows you to interact with the iRODS backend of Yoda directly. We suggest to only use GoCommands if you are comfortable with command-line tools.

Using GoCommands is a significantly faster option than the Yoda Network Disk, but it requires some familiarity with command-line tools. The GoCommands run on Windows, MacOS, and Linux. 

Installing GoCommands

You first need to download the gocmd file to be able to run the GoCommands from the commandline. You must check what your operating system is and what processor you have. For example, this is the command to download the gocmd executable for Ubuntu 18.04 LTS (“bionic”) with an amd64 processor:

GOCMD_VER=$(curl -L -s https://raw.githubusercontent.com/cyverse/gocommands/main/VERSION.txt); \ 
curl -L -s https://github.com/cyverse/gocommands/releases/download/${GOCMD_VER}/gocmd-${GOCMD_VER}-linux-amd64.tar.gz | tar zxvf -

This will download the gocmd executable to your current working directory.

Configuring the GoCommands

Before you can start using the GoCommands, you need to set up your environment to connect to Yoda by creating an `irods_environment.json` file. If you already have an `irods_environment.json` file there is no extra configuring to be done, and you can start using commands with the GoCommands immediately.  

If you have no `irods_environment.json` file, follow these instructions (see Configuring iCommands).

Getting started with the GoCommands

After downloading and configuring the GoCommands, you can start running commands immediately. Note that the first time the GoCommands are run, it may ask for a password. The password you must use is a data access password.  

A test command to check that the GoCommands have been configured correctly (assuming that you have downloaded the executable in your current directory) is:

./gocmd ls

This should list the collections that you have access to on your Yoda instance.

Copying files 

Here is an example of how you could copy files from your current directory to iRODS. This would copy the folder “folder” and its contents on your computer to the collection 'research-group' in Yoda:

./gocmd sync ./folder i:/zone/home/research-group/ --progress 

This gives an idea of what the process is like. You can learn more about how to use the GoCommands to transfer files in the syncing section of the GoCommands documentation. The section on the sync command is especially useful when transferring data to Yoda.

General use

There is some general documentation on the GoCommands GitHub, along with documentation on additional sub commands available to use. The GoCommands executable itself also has in-built information. You can learn about the commands available with the GoCommands by running:

./gocmd --help 

And to learn more about a specific command run:

./gocmd [name of command] --help