Go to file
Hector Sanjuan edfcfa3fb0 Fix #1360: Efficient pinset status with filters
This commit modifies the pintracker StatusAll call to take a status filter.

This allows to skip a PinLs call to ipfs when checking status for items that
are queued, pinning, unpinning or in error. Those status come directly from
the operation tracker. This should result in a significant performance
increase for those calls, particularly in nodes with several hundred thousand
pins and more, where the call to IPFS is very expensive.

A new TrackerStatusUnexpectedlyUnpinned status has been introduce to
differentiate between pin errors (tracked by the operation tracker) and "lost"
items (which before were pin errors too). This new status is handled by the
Recover() operation as before.
2021-07-06 11:34:19 +02:00
.github Upgrade to GitHub-native Dependabot 2021-04-29 15:36:12 +00:00
adder Feat: support adding CAR files 2021-04-21 13:55:06 +02:00
allocator staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
api Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
cmd Run tests also using leveldb backend 2021-06-11 18:43:54 +02:00
cmdutils Support a levelDB backend for cluster 2021-06-09 19:40:36 +02:00
config Fix #937: Print full working configuration at startup 2020-05-15 01:33:04 +02:00
consensus fix: error message for LogPin 2021-05-12 14:26:51 +01:00
datastore Support a levelDB backend for cluster 2021-06-09 19:40:36 +02:00
docker Docker: allow controlling datastore backend via IPFS_CLUSTER_DATASTORE 2021-06-29 15:44:24 +02:00
informer Fix #937: Print full working configuration at startup 2020-05-15 01:33:04 +02:00
ipfsconn/ipfshttp Update go-ipfs-pinner dependency 2021-02-19 10:13:45 +01:00
monitor Revert "monitor: remove dependency to go-multicodec (#1313)" (#1330) 2021-03-23 23:59:36 +01:00
observations (chore) Upgrade dependencies 2020-08-27 14:10:58 +02:00
pintracker Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
pstoremgr cluster: new dial_peer_timeout option (3 seconds) 2021-05-03 17:16:35 +02:00
rpcutil staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
sharness car: Add sharness test for adding car file 2021-04-21 13:55:06 +02:00
state staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00
test Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
version Set development version v0.13.3-next 2021-05-14 19:04:01 +02:00
.codeclimate.yml codeclimate 2018-08-07 20:12:05 +02:00
.codecov.yml Codecov: disable comments 2020-10-05 08:41:42 +02: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 Run tests also using leveldb backend 2021-06-11 18:43:54 +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 Dependency upgrades (#1357) 2021-05-14 19:01:18 +02:00
cluster_config_test.go Remove map pintracker (#944) 2019-12-12 21:22:54 +01:00
cluster_config.go cluster: new dial_peer_timeout option (3 seconds) 2021-05-03 17:16:35 +02:00
cluster_test.go Run tests also using leveldb backend 2021-06-11 18:43:54 +02:00
cluster.go Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
clusterhost.go Run tests also using leveldb backend 2021-06-11 18:43:54 +02:00
config_test.go Run tests also using leveldb backend 2021-06-11 18:43:54 +02: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 chore: use latest in all instances 2021-06-09 15:39:34 +02:00
Dockerfile Docker: allow controlling datastore backend via IPFS_CLUSTER_DATASTORE 2021-06-29 15:44:24 +02:00
Dockerfile-bundle Docker: allow controlling datastore backend via IPFS_CLUSTER_DATASTORE 2021-06-29 15:44:24 +02:00
Dockerfile-test Docker: allow controlling datastore backend via IPFS_CLUSTER_DATASTORE 2021-06-29 15:44:24 +02:00
go.mod Fix #1366: IPFS Proxy API serializes wrong error types 2021-06-28 22:42:47 +02:00
go.sum Fix #1366: IPFS Proxy API serializes wrong error types 2021-06-28 22:42:47 +02:00
ipfscluster_test.go Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
ipfscluster.go Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +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 Dependency upgrades (#1357) 2021-05-14 19:01:18 +02: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 IRC link in repository badges 2021-06-01 14:29:47 +02:00
release.sh release.sh: improve script. 2021-01-14 14:06:53 +01:00
rpc_api.go Fix #1360: Efficient pinset status with filters 2021-07-06 11:34:19 +02:00
rpc_policy.go Merge branch 'master' into feat/alerts 2019-12-13 10:22:06 +05:30
util.go staticcheck: fix all staticcheck warnings in the project 2020-04-14 20:16:10 +02:00

IPFS Cluster

Made by Main project Matrix 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.