-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update S3 code to use s3gof3r #2016
Comments
|
I am currently looking into backing IPFS by FLOSS S3-compatible object stores. Finding https://github.com/ipfs/go-ipfs/blob/master/thirdparty/s3-datastore/datastore.go let me already suspect a strong binding to Amazons infrastructure. As ipfs/notes#9 also maneuvers around plain Amazon-branded S3, I am interested in knowing your prospect: Could IPFS also be backed by FLOSS distributed storage infrastructure? https://github.com/jbenet/go-datastore/ lets me believe Redis would already be possible, but the documantation scattered somewhere inbetween jbenet/random-ideas#33 and ipfs-inactive/faq#86 (comment) does not explicitly mention how to use different block storage providers. Unfortunately the suggested go package also doesn't mention third party S3-compatible API providers. https://github.com/ipfs/specs/tree/master/repo suggests to create https://github.com/ipfs/specs/blob/master/repo/s3-repo instead of (4) above. As of https://groups.google.com/d/msg/ipfs-users/6POFh0EdnVI/rPSKGqoREgAJ there has already been some work at https://github.com/ipfs/go-ipfs/tree/s3, #1261 and #1488 which needs to be revamped either way. Would there be any interest in supporting Ceph, Swift, GlusterFS, Eucalyptus and others as distributed storage clusters for large-scale IPFS nodes? Have a look at how ownCloud Enterprise tricks their S3 client to use Ceph instead. |
I am trying to bring S3 as datastore for IPFS. As POC I changed the Now I want to make the changes proper and integrate with IPFS. But I am not sure how to proceed on this as this involves changing the config file format to specify S3 parameters. I've checked ipfs/notes#9 but not sure which one is finalized. @whyrusleeping @jbenet Can you guide me how should I take this forward? |
@sivachandran where is your s3 datastore implementation at? On the todo list is making configuring the local datastore nicer, i'll ping back here when thats complete. |
@whyrusleeping RealImage#1 is the S3 datastore implementation. It is designed and implemented mainly to satisfy my requirements. It might require some changes to merge into master. |
S3 datastore was migrated here: https://github.com/ipfs/go-ds-s3/ |
The original S3 code is no longer being mantained and has error reporting issues. The current workaround (using datastore with an S3 FUSE mount such as goobys) is pretty slow.
Update the S3 code to use s3gof3r (https://github.com/rlmcpherson/s3gof3r), which looks pretty best-case for performance considerations RE ipfs/infra#89 (comment)
In the future some caching considerations may be needed, but this ticket is finished by just getting a basic integration in. Optimization will depend on benchmarking.
The text was updated successfully, but these errors were encountered: