BioTeam / minio-irods-gateway
Expose data in your iRODS zone as S3 object storage via Minio gateway. Read the implementation blog post here.
- Login to iCAT with
iinit
- 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
- 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.
- Clone and
cd
into this repo's root directory - 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 .
- 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
- 😎 Browse 😎
-
This project has issues, help out by contributing!