Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

There is an experimental iRODS client called iBridges, developed by the Dutch community. You can run it in your PC as a local application, and it can help with moving large data sets to/from Yoda, through its iRODS layer.

The documentation is here: https://chstaiger.github.io/iBridges-Gui/

Note

For the latest command line only version, refer to: https://github.com/UtrechtUniversity/iBridges

Configuring iBridges for Yoda Hosting instances

We have successfully used iBridges to transfer data to our Yoda hosted instances, by configuring the following files:

~/.irods/irods_environment.json
{
    "irods_authentication_scheme": "pam",
    "irods_client_server_negotiation": "request_server_negotiation",
    "irods_encryption_algorithm": "AES-256-CBC",
    "irods_encryption_key_size": 32,
    "irods_encryption_num_hash_rounds": 16,
    "irods_encryption_salt_size": 8,
    "irods_host": "scuba-yoda.irods.surfsara.nl",
    "irods_home": "/yoda/home",
    "irods_port": 1247,
    "irods_user_name": "<your_email@your_institute.nl>",
    "irods_zone_name": "<your zone>",
    "-- The next two items are required by iBridges":"X",
    "irods_client_server_policy": "CS_NEG_REQUIRE",
    "irods_default_resource": "irodsResc",
    "-- End of file --":"X"
}

~/.ibridges/ibridges_config.json
{
    "check_free_space": false,
"force_transfers": true,
"ui_tabs": [
"tabUpDownload"
],
"verbose": "info" }


Table of contents

Table of Contents
outlinetrue

Connecting from iBridges to Yoda Hosting instances

When you run iBridges.py, you will be prompted with its iRODS Login screen:

In the Password field, you will have to use Yoda's Data Access Password,  which you will have to generate first on the Yoda portal.

Then, click the Connect button. That will show the landing screen, which will show you the folders you have access to:

Using iBridges to operate on Yoda Hosting instances

On that screen, you can easily:

  • Operate with files and folders
    • Navigate to a given path: either by typing the path on the top bar, or by double-clicking through the listing in the middle part of the screen
    • Create folders: by clicking the "Create Collection" button, under the path bar (remember: in iRODS, "Collection" is the word used for a folder)
    • Upload/download files: by using the buttons under the path bar
    • Delete files and folders: by choosing them in the listing, then going to the "Delete" tab below the listing, clicking "Load", and then confirming on the red "Delete" button
Note
titleWatch out!

In the following paragraphs we describe how you can alter metadata and permissions.

Yoda is built to use iRODS, and iBridges operates at the iRODS level. Yoda expects to use permissions and metadata in a certain way. By altering permissions and metadata the wrong way, you can break the Yoda functionality for the items you modify.

You should, therefore, refrain from changing things that you do not know the consequences of. Or, at any rate, you should first exercise whatever you want to do in a test folder/file/location.

  • Operate with metadata
    • You can add, modify and delete metadata on a file or folder, by choosing the file or folder on the listing, then going to the "Metadata" tab under the listing. That will show, on the bottom half of the screen, a list of existing metadata triplets (remember, in iRODS a metadata item is always a triplet called AVU, which stands for Attribute Value Unit) for that file or folder. You can select an existing one to edit it, or to delete it. You can also create a totally new one from scratch.
  • Operate with permissions
    • You can select a file or folder in the listing, and then go to the "Permissions" tab to manage its permissions (in terms of iRODS: ACLs).

Installing iBridges

We successfully installed iBridges locally on a MacOS laptop, by:

  1. Installing Conda, and creating a new Conda environment for iBridges
  2. Following the "Install from Git" method from the iBridges documentation
  3. Configuring the iRODS environment and iBridges configuration .json files