• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ipfs / ipfs-cluster
68%
master: 65%

Build:
Build:
LAST BUILD BRANCH: feat/expvar
DEFAULT BRANCH: master
Repo Added 08 Dec 2016 04:18PM UTC
Files 37
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feat/dht
branch: feat/dht
CHANGE BRANCH
x
Reset
  • feat/dht
  • 0.2.0/changelog
  • 0.2.1/changelog
  • 0.3.0/changelog
  • 0.3.2/changelog
  • 0.3.3/changelog
  • 0.3.4/changelog
  • 0.3.5/changelog
  • 0.4.0/changelog
  • 0.5.0/changelog
  • 0.6.0/changelog
  • 0.7.0/changelog
  • 0.8.0/changelog
  • 0.9.0
  • 162-new-configs
  • 192-docs
  • 45-peer-failure
  • 97-default-data-folder
  • add-config-alloc-default
  • add-proxy-hijack
  • autosyncs
  • captain-log-update
  • captain-log-update-2
  • catch-sighup
  • catch-sigup
  • changelog_v0.3.1
  • codeclimate
  • connect-ipfs-nodes
  • disk-informer
  • doc/add-swagger-config
  • doc/add-use-cases
  • doc/cluster-guide-broken-link
  • doc/composite-cluster-usecases
  • doc/dag-sharding-rfc
  • doc/readme-go-version
  • doc/user-registry
  • docker-compose
  • docker/run-daemon-default
  • docs/cluster-secret-links
  • docs/move-to-website
  • documentation/architecture.md-updates
  • feat/131-new-raft
  • feat/201-version-subcmd
  • feat/219-peers
  • feat/260-api-client
  • feat/269-shell-client
  • feat/277-min-max-repl-factor
  • feat/339-faster-tests
  • feat/632-stream-channels
  • feat/632-stream-channels-client
  • feat/SHARDING-files-over-rest
  • feat/api-basic-auth
  • feat/api-headers
  • feat/auto-migration
  • feat/backups-upgrade-path
  • feat/client-add
  • feat/client_features
  • feat/cmd/svc/force-quit
  • feat/code_quality
  • feat/component-env-cfg
  • feat/connectivity-graph
  • feat/ctl-cmd/no-status-flag
  • feat/datastore
  • feat/docker-gx-make
  • feat/docker-test
  • feat/env-cfg
  • feat/error-msgs-bootstrap
  • feat/expvar
  • feat/fix-testclusterspeerrejoin
  • feat/flush-adder-output
  • feat/free-space-allocation-metric
  • feat/fs-lock
  • feat/gossipsub
  • feat/https-api-endpoint
  • feat/improve-pin-serial
  • feat/ipfs-block
  • feat/ipld-bubble
  • feat/migration-framework
  • feat/new-pin-options
  • feat/new-pintype-tests
  • feat/peer-add-hide
  • feat/pin-method-default-refs
  • feat/pin-priority-peers
  • feat/pin-refs
  • feat/pinning-mods
  • feat/pintracker-revamp
  • feat/pnet
  • feat/promote-consensus
  • feat/pubsub-monitoring
  • feat/raft-state-backups
  • feat/recursive-pins
  • feat/remove-legacy
  • feat/rest/client/wait
  • feat/restapi-libp2p
  • feat/service/lock-msg
  • feat/sharding
  • feat/sharding-clean-add
  • feat/sharding-component
  • feat/sharding-frontend-tests
  • feat/sharding-state-format
  • feat/sharding-use-pin-feats
  • feat/sharding-v1
  • feat/state-cmds
  • feat/state-update-guide
  • feat/travis-cache
  • feat/try-jenkins
  • feat/use-ipfs-to-download-gx
  • feat/use-stdlib-reverse-proxy
  • feat/wrong-secrets
  • fix-realloc
  • fix-service-docs
  • fix/105-panic-rpc-calls
  • fix/154-dockerfile
  • fix/182-check-err
  • fix/202-32-bit
  • fix/203-peers-ignored
  • fix/208-repl-factor
  • fix/213-save
  • fix/224-pin-progress
  • fix/240-logging
  • fix/297-state-unmarshal
  • fix/340-races
  • fix/408-TestClustersPin-final
  • fix/412-template-for-issues
  • fix/433-floodsub-panic
  • fix/462-dns-ipfs-api
  • fix/466-proxy-repo-stat
  • fix/495-proxy-add
  • fix/520-snapcraft-stages
  • fix/543-add-unhealthy
  • fix/548-keepalives
  • fix/552-stateless-test
  • fix/554-snap-deploy
  • fix/639-cors-restapi
  • fix/StatusSync
  • fix/access-control-headers
  • fix/add-output-format
  • fix/add-with-spaces-in-name
  • fix/api-client
  • fix/api-consts
  • fix/bad-subcommand
  • fix/cancelled-context-repo-stat
  • fix/cg-tests-jenkins
  • fix/client-cid-pointer
  • fix/client-ipfs
  • fix/client-resolve-panic
  • fix/client/timeout
  • fix/config-errors
  • fix/config/disable-repinnings
  • fix/cors-and-headers
  • fix/ctl-descriptions
  • fix/ctl-https
  • fix/daemon-error
  • fix/data-folder
  • fix/dockerfile-again
  • fix/downcase_api_config_id
  • fix/empty-cluster-secret
  • fix/empty-config-option
  • fix/error-msgs
  • fix/fast-repo-stat
  • fix/fmt-pnet_test
  • fix/go-1.11
  • fix/godoc-wait-for
  • fix/govet
  • fix/health-metrics
  • fix/host-nat
  • fix/ipfsconn-with-POST
  • fix/ipfsconn/api-compat
  • fix/jenkins
  • fix/libp2p
  • fix/lock-service
  • fix/make-test
  • fix/minor-fixes
  • fix/minor-version-compat
  • fix/move-index-up
  • fix/official-builds
  • fix/peer-rm
  • fix/pin-context-timeout
  • fix/pin-ls-check
  • fix/pinls
  • fix/pintracker-data-races
  • fix/post-sharding
  • fix/proxy-headers
  • fix/proxy-paths
  • fix/query-encode-filter
  • fix/recover-pin
  • fix/remote-error
  • fix/sharding-state-upgrade
  • fix/sharness-jq-typo
  • fix/snaps-again2
  • fix/snapshot-wait-for-index
  • fix/start-panic
  • fix/status-output
  • fix/status-when-peer-down
  • fix/svc/init/lock
  • fix/tests
  • fix/tracing-service-name
  • fix/type-errors
  • fix/update-go-cid
  • fix/update-go-dot
  • fix/update-json-config
  • fix/upgrade-empty-state
  • fix/validate-state
  • fix/wait
  • fix/webfile-gx
  • go-1.10
  • godocs
  • guide
  • gx/files2
  • gx/update-mudygh
  • gx/update-psxsm3
  • issue_445
  • issue_450
  • issue_485
  • issue_587
  • issue_616
  • issue_646
  • libp2p-6.0.19
  • libp2p-6.0.23
  • libp2p-6.0.29
  • log/cluster/version-difference-err
  • master
  • migrator
  • no-map-pintracker
  • pin-bot
  • pin-ls-cid
  • pin-ls-recursive
  • race-fixes-picks
  • readme-improv
  • release-fixes
  • remove-go-ipfs-dep
  • remove/snaps
  • rfc/collaborative-pinsets
  • set-proxy-status
  • sharding/move-zg0-dex-to-cluster
  • sharness/basic-auth
  • small-fixes
  • small-fixes-2
  • ssl-params
  • statelesstracker
  • style
  • submodules
  • test/clean-shard-testing
  • test/sharness-api-https
  • test/sharness-https-api
  • test/squash
  • tests/shards
  • tests/update-sharness-configs
  • travis-sharness
  • update-deps
  • update/go-ipfs-files
  • update/go-libp2p-pubsub
  • update/gx
  • update/gx-versions
  • update/gx-versions3
  • update/libp2p
  • update/libp2p-6
  • update/libp2p-6.0.33
  • update/libp2p-6.0.35
  • use-multiaddr-net
  • v0.0.11
  • v0.0.12
  • v0.1.0
  • v0.2.0
  • v0.2.1
  • v0.3.1
  • v0.3.2
  • v0.3.3
  • v0.3.4
  • v0.3.5
  • v0.4.0
  • v0.4.0-rc1
  • v0.4.0-rc2
  • v0.5.0
  • v0.5.0-rc1
  • v0.6.0
  • v0.6.0-rc1
  • v0.7.0
  • v0.7.0-rc1
  • v0.8.0-rc1
  • v0.9.0
  • v0.9.0-rc1

pending completion
2565

Pull #489

travis-ci

web-flow
Feat: Enable DHT-based peer discovery and routing for cluster peers

This uses go-libp2p-kad-dht as routing provider for the Cluster Peers.

This means that:

* A cluster peer can discover other Cluster peers even if they are
not in their peerstore file.
* We remove a bunch of code sending and receiving peers multiaddresses
when a new peer was added to the Cluster.
* PeerAdd now takes an ID and not a multiaddress. We do not need to
ask the new peer which is our external multiaddress nor broadcast
the new multiaddress to everyone. This will fix problems when bootstrapping
a new peer to the Cluster while not all the other peers are online.
* Adding a new peer does not mean to open connections to all peers
anymore. The number of connections will be made according to the DHT
parameters (this is good to have for future work)

The that detecting a peer addition in the watchPeers() function does
no longer mean that we have connected to it or that we know its
multiaddresses. Therefore it's no point to save the peerstore in these
events anymore.

Here a question opens, should we save the peerstore at all, and should we
save multiaddresses only for cluster peers, or for everyone known?
Currently, the peerstore is only updated on clean shutdown,
and it is updated with all the multiaddresses known, and not limited to
peer IDs in the cluster, (because, why not).

License: MIT
Signed-off-by: Hector Sanjuan <code@hector.link>
Pull Request #489: Feat: Enable DHT-based peer discovery and routing for cluster peers

52 of 52 new or added lines in 5 files covered. (100.0%)

5088 of 7485 relevant lines covered (67.98%)

97.89 hits per line

Relevant lines Covered
Build:
Build:
7485 RELEVANT LINES 5088 COVERED LINES
97.89 HITS PER LINE
Source Files on feat/dht
  • List 0
  • Changed 22
  • Source Changed 17
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
2565 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... Pull #489 24 Jul 2018 01:59PM UTC web-flow travis-ci pending completion  
2564 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... push 24 Jul 2018 01:52PM UTC hsanjuan travis-ci pending completion  
2552 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... Pull #489 23 Jul 2018 10:21AM UTC web-flow travis-ci pending completion  
2551 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... push 23 Jul 2018 10:16AM UTC hsanjuan travis-ci pending completion  
2550 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... Pull #489 23 Jul 2018 09:58AM UTC web-flow travis-ci pending completion  
2549 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... push 23 Jul 2018 09:56AM UTC hsanjuan travis-ci pending completion  
2548 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... Pull #489 23 Jul 2018 09:43AM UTC web-flow travis-ci pending completion  
2547 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... push 23 Jul 2018 09:41AM UTC hsanjuan travis-ci pending completion  
2540 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... Pull #489 17 Jul 2018 01:30PM UTC web-flow travis-ci pending completion  
2539 feat/dht Feat: Enable DHT-based peer discovery and routing for cluster peers This uses go-libp2p-kad-dht as routing provider for the Cluster Peers. This means that: * A cluster peer can discover other Cluster peers even if they are not in their peerstor... push 17 Jul 2018 01:18PM UTC hsanjuan travis-ci pending completion  
See All Builds (2373)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc