I am working on a DRS (GA4GH) Data Repository Service implementation and am interested in adding s3 access endpoints to DRS objects. I've got the iRODS S3 Client API stood up and am working to weave it into the implementation.
I've got some provisional plans to automate user and bucket mappings by sharing a shared reference to the .json files in the current s3 api, such that a collection can be set/unset as a bucket, marked by a special AVU and causing an update to the shared file. The idea is that the s3 api engine can pick up these file changes as they are updated in the shared file.
Similarly, I am interested in the access keys, and to my mind the model would be that a User can generate an access key that is placed in a user-private location...
/zone/home/.irods-ext
would have an s3-access empty file to which AVUs could be attached. In this way a user can generate a secret key and keep it secret and it can synch via the user config.json as in the bucket mappings.
What I would really propose is to eliminate the shared file in a later iteration to read collection level special AVUs for bucket mappings, and to consult the user metadata via the mechanism above, or some other mechanism, meaning the s3 api would be metadata driven without the bucket and user config json manipulation
I am working on a DRS (GA4GH) Data Repository Service implementation and am interested in adding s3 access endpoints to DRS objects. I've got the iRODS S3 Client API stood up and am working to weave it into the implementation.
I've got some provisional plans to automate user and bucket mappings by sharing a shared reference to the .json files in the current s3 api, such that a collection can be set/unset as a bucket, marked by a special AVU and causing an update to the shared file. The idea is that the s3 api engine can pick up these file changes as they are updated in the shared file.
Similarly, I am interested in the access keys, and to my mind the model would be that a User can generate an access key that is placed in a user-private location...
/zone/home/.irods-ext
would have an s3-access empty file to which AVUs could be attached. In this way a user can generate a secret key and keep it secret and it can synch via the user config.json as in the bucket mappings.
What I would really propose is to eliminate the shared file in a later iteration to read collection level special AVUs for bucket mappings, and to consult the user metadata via the mechanism above, or some other mechanism, meaning the s3 api would be metadata driven without the bucket and user config json manipulation