Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a gRPC datastore shim to
go-ipfs
by wiring up go-ds-grpc. The motivation is to allow custom local/remote datastores to be used withgo-ipfs
without having to recompile thego-ipfs
binary, compile modules, or even write the datastore in Go. Unix domain sockets are also supported here.This would enable easier datastore experimentation and enable a third party ecosystem of datastores that end users could use. Common datastores like go-ds-s3 could release binaries / Docker images so that folks could just use a datastore sidecar with vanilla Kubo instead of having to patch & rebuild Kubo (currently the case w/ go-ds-s3).
Some relevant issues/PRs:
If we can agree that this approach is desirable, then the things I have left to do:
go-ds-grpc
into IPFS orggo-ds-grpc
As a side note, @coryschwartz has been using this with Lotus and the rados datastore.