Go to file
Hector Sanjuan 9bfbde8e76 Fix #1064: Make the peer closest to the CID in charge of repinning
We cannot rely on current pin allocations anymore since the allocations
may be follower peers that do not even handle alerts.

Instead, we assume that we are a trusted peer (because we are not in follower
mode), get all other trusted peers and act if we are the XOR-closest to the
CID.

This also means that replication-factor = 1 pins can be recovered too.
2020-05-14 23:47:56 +02:00
.github Add autocomment configuration 2020-05-04 12:04:23 +02:00
adder Sharding: dag service: force pin mode to Recursive 2020-04-21 22:59:14 +02:00
allocator staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
api Types: make MaxDepth a PinDepth type and add helpers to convert to Mode 2020-04-21 17:23:55 +02:00
cmd Fix #1009: Add Mode={direct,recursive} PinOption 2020-04-21 17:23:55 +02:00
cmdutils Feat: upgrade to dual DHT 2020-04-14 22:03:24 +02:00
config staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
consensus Fix some mispellings 2020-04-14 23:47:09 +02:00
datastore badger: reduce memory footprint with better default options 2020-04-01 13:18:41 +02:00
docker Docker: improve for CRDTs 2019-08-13 19:32:38 +02:00
informer Fix #1120: Do not let the size metric underflow uint. 2020-05-12 21:17:25 +02:00
ipfsconn/ipfshttp Improve PinLsCid to check for pinned items 2020-04-21 17:23:55 +02:00
monitor Fix some mispellings 2020-04-14 23:47:09 +02:00
observations staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
pintracker Improve PinLsCid to check for pinned items 2020-04-21 17:23:55 +02:00
pstoremgr staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
rpcutil staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
sharness Add sharness test for direct pinning 2020-04-23 17:31:52 +02:00
state staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
test Direct pins: fix add tests for direct pinning 2020-04-23 18:05:05 +02:00
version Set the RPC Protocol Version to a fixed value 2020-04-23 19:08:11 +02:00
.codeclimate.yml codeclimate 2018-08-07 20:12:05 +02:00
.codecov.yml Codevoc: adjust thresholds 2020-03-22 14:48:31 +01:00
.dockerignore Issue #259: Address CR comments 2017-12-04 13:59:48 +01:00
.gitignore Feat: ipfs-cluster-follow 2019-12-07 15:38:59 +01:00
.travis.yml Revert "Revert to Go1.13" 2020-04-02 18:03:58 +02:00
add_test.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
allocate.go cluster: do not allow to repin recursive pins as something else. 2020-04-21 17:23:55 +02:00
CHANGELOG.md fix: Fix typos (#1001) 2020-02-03 10:30:04 +01:00
cluster_config_test.go Remove map pintracker (#944) 2019-12-12 21:22:54 +01:00
cluster_config.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
cluster_test.go Direct pins: fix add tests for direct pinning 2020-04-23 18:05:05 +02:00
cluster.go Fix #1064: Make the peer closest to the CID in charge of repinning 2020-05-14 23:47:56 +02:00
clusterhost.go Fix some mispellings 2020-04-14 23:47:09 +02:00
config_test.go pintracker: take care of tests 2019-12-16 13:42:35 +01:00
connect_graph.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
CONTRIBUTING.md Docs: Move to website. 2018-04-27 09:05:11 +02:00
COPYRIGHT Dual-license the codebase. 2019-03-01 20:12:19 +00:00
docker-compose.yml Improve docker-compose.yml for testing 2019-09-20 11:08:40 -04:00
Dockerfile Revert "Revert to Go1.13" 2020-04-02 18:03:58 +02:00
Dockerfile-bundle Revert "Revert to Go1.13" 2020-04-02 18:03:58 +02:00
Dockerfile-test Revert "Revert to Go1.13" 2020-04-02 18:03:58 +02:00
go.mod chore: update go-ds-crdt 2020-05-14 23:11:54 +02:00
go.sum chore: update go-ds-crdt 2020-05-14 23:11:54 +02:00
ipfscluster_test.go tests: improve TestClustersPinDirect mode 2020-04-23 18:28:16 +02:00
ipfscluster.go Improve PinLsCid to check for pinned items 2020-04-21 17:23:55 +02:00
LICENSE Chore: Add license file with URLS (#1014) 2020-03-06 13:52:19 +01:00
LICENSE-APACHE Chore: Add license file with URLS (#1014) 2020-03-06 13:52:19 +01:00
LICENSE-MIT Chore: Add license file with URLS (#1014) 2020-03-06 13:52:19 +01:00
logging.go Dependency ugprade: changes needed 2020-03-22 14:50:25 +01:00
Makefile Feat: ipfs-cluster-follow 2019-12-07 15:38:59 +01:00
peer_manager_test.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
pnet_test.go Dependency ugprade: changes needed 2020-03-22 14:50:25 +01:00
README.md Update README: fix links, add ipfs-cluste-follow info 2019-12-20 14:12:17 +01:00
release.sh Remove gx 2019-07-04 13:58:17 +01:00
rpc_api.go Improve PinLsCid to check for pinned items 2020-04-21 17:23:55 +02:00
rpc_policy.go Remove map pintracker (#944) 2019-12-12 21:22:54 +01:00
util.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00

IPFS Cluster

Made by Main project IRC channel GoDoc Go Report Card Build Status codecov

Automated data availability and redundancy on IPFS

logo

IPFS Cluster provides data orchestration across a swarm of IPFS daemons by allocating, replicating and tracking a global pinset distributed among multiple peers.

It provides:

  • A cluster peer application: ipfs-cluster-service, to be run along with go-ipfs.
  • A client CLI application: ipfs-cluster-ctl, which allows easily interacting with the peer's HTTP API.
  • An additional "follower" peer application: ipfs-cluster-follow, focused on simplifying the process of configuring and running follower peers.

Are you using IPFS Cluster?

Please participate in the IPFS Cluster user registry.


Table of Contents

Documentation

Please visit https://cluster.ipfs.io/documentation/ to access user documentation, guides and any other resources, including detailed download and usage instructions.

News & Roadmap

We regularly post project updates to https://cluster.ipfs.io/news/ .

The most up-to-date Roadmap is available at https://cluster.ipfs.io/roadmap/ .

Install

Instructions for different installation methods (including from source) are available at https://cluster.ipfs.io/download .

Usage

Extensive usage information is provided at https://cluster.ipfs.io/documentation/ , including:

Contribute

PRs accepted. As part of the IPFS project, we have some contribution guidelines.

License

This library is dual-licensed under Apache 2.0 and MIT terms.

© 2020. Protocol Labs, Inc.