🔬Experimental Minio (S3) Gateway for iRODS 💾
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
irods
.gitignore
BLOG.md
Dockerfile
LICENSE
README.md
gateway.go

README.md

BioTeam / minio-irods-gateway

Expose data in your iRODS zone as S3 object storage via Minio gateway. Read the implementation blog post here.

hello_s3

GoDoc

Initial Setup

  1. Login to iCAT with iinit
  2. Install Specific Query:
$ iadmin asq "SELECT R_META_MAIN.meta_attr_value, R_DATA_MAIN.modify_ts, R_DATA_MAIN.data_size, R_DATA_MAIN.data_checksum, R_DATA_MAIN.data_name FROM R_OBJT_METAMAP JOIN R_META_MAIN ON R_META_MAIN.meta_id = R_OBJT_METAMAP.meta_id LEFT JOIN R_DATA_MAIN ON R_DATA_MAIN.data_id = R_OBJT_METAMAP.object_id WHERE R_META_MAIN.meta_attr_name = ? AND R_META_MAIN.meta_attr_value LIKE ? ORDER BY R_META_MAIN.meta_attr_value ASC" minio_list_objects
  1. Create Minio iRODS User:
$ iadmin mkuser BKIKJAA5BMMU2RHO6IBB rodsadmin
$ iadmin moduser BKIKJAA5BMMU2RHO6IBB password V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12

Your iRODS username will act as MINIO_ACCESS_KEY, and your password as MINIO_SECRET_KEY. You should regenerate these strings or utilize an existing iRODS user and password in later steps.

Build & Run

  1. Clone and cd into this repo's root directory
  2. Build Docker Container:

Note:

You can also download a pre-built Docker container: docker pull jacquayj/minio-irods-gateway

$ docker build -t minio-irods-gateway .
  1. Run minio-irods-gateway Container:

Replace the connection details with your own iRODS provider server and credentials.

$ docker run -p 9000:9000 \
	-e "MINIO_ACCESS_KEY=BKIKJAA5BMMU2RHO6IBB" \
	-e "MINIO_SECRET_KEY=V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12" \
	minio-irods-gateway gateway irods \
	192.168.1.147 1247 tempZone /tempZone/home/BKIKJAA5BMMU2RHO6IBB
  1. 😎 Browse 😎

screen shot 2018-06-29 at 2 34 22 pm

  1. Read more about the implementation details

  2. This project has issues, help out by contributing!