Composite clusters

The ipfs-cluster-service process provides a Proxy-To-IPFS endpoint, which effectively allows a cluster peer to present itself as if it were an IPFS daemon. This allows to use a cluster peer (from a different cluster) instead of an IPFS daemon, giving origin to the composite clusters idea.

The IPFS Proxy

The IPFS Proxy is an endpoint which presents the IPFS HTTP API in the following way:

This endpoint listens by default on /ip4/ and is provided by the ipfshttp connector component.

The requests that are intercepted are the following:

Responses from the proxy mimic the IPFS daemon responses, thus allowing to drop-in this endpoint in places where the IPFS API was used before. For example, you can use the go-ipfs CLI as follows:

The responses would come from cluster, not from go-ipfs. The intercepted endpoints aim to mimic the format, headers and response codes from IPFS. If you have custom headers configured in IPFS, you will need to add their names them to the ipfsproxy.extract_headers_extra configuration option.

A Cluster of Clusters

As mentioned above, the Proxy endpoint allows to create a cluster of clusters. This would be one of the common topologies that can be achieved, with the main cluster in the middle and 3 sub-clusters attached:

Cluster composition

Next steps: ipfs-cluster-service