ipfs-cluster / ipfs-cluster

Pinset orchestration for IPFS
https://ipfscluster.io
Other
1.49k stars 288 forks source link

Add Estuary To IPFS Cluster #1804

Open ohmpatel1997 opened 2 years ago

ohmpatel1997 commented 2 years ago

Describe the feature you are proposing

I am looking for a way to integrate the estuary as one of the remote node for my IPFS cluster along with normal local IPFS nodes. Ideally I would be able to interact with single cluster API and the cluster should be able to pin data across all/configured nodes which can be estuary node.

hsanjuan commented 2 years ago

Let's see:

Providing a new implementation for this component requires re-implementing a few methods:

There's another deeper problem: cluster indexes everything by CID, while the pinning svc API needs RequestIDs as inputs. This forces us to keep local state (or rebuild it on startup) in the component implementation (the mapping between CID and requestIDs).

The fact that a pinning service would have its own queue management system may mean we need to expand IPFSStatus to include things like "RemoteQueues, RemotePinning" and similar, and deal with such status accross the application (i.e. by translating a RemotePinning ipfs status into a pinning cluster status. This however has more implications and means touching at least the PinTracker component too.

Another time-taking issue will be the need to build a mock pinning service API for testing the whole thing.

All in all I think it is worth prototyping this first, if we can limit ripple effects to the cluster architecture and stay within the component implementation we might find a good compromise that is shippable, but I'm not fully convinced it will be that easy.