Commit Graph

2908 Commits

Author SHA1 Message Date
Hector Sanjuan
b5bb6e9cc3 Readme: Fix "pin rm" example
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-17 19:29:52 +01:00
Hector Sanjuan
19c75fdbfe Expand ipfs-cluster-server usage section
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-15 16:18:22 +01:00
Hector Sanjuan
95e31ace87 Address small typos pointed out by @mateon1
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-01-15 16:06:47 +01:00
Hector Sanjuan
34f74a662c TODO has been formalized as issues
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-29 18:50:28 +01:00
Hector Sanjuan
c7b94b0ec9 Add architecture docs
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-29 18:38:09 +01:00
Hector Sanjuan
37c7c39b84 update todo
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-29 17:51:52 +01:00
Hector Sanjuan
3243cfcccf Make golint happy
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-28 16:29:07 +01:00
Hector Sanjuan
805b867651 Use go-libp2p-rpc. Tests updated.
The former RPC stuff had become a monster, really hard to have an overview
of the RPC api capabilities and with lots of magic.

go-libp2p-rpc allows to have a clearly defined RPC api which
shows which methods every component can use. A component to perform
remote requests, and the convoluted LeaderRPC, BroadcastRPC methods are
no longer necessary.

Things are much simpler now, less goroutines are needed, the central channel
handling bottleneck is gone, RPC requests are very streamlined in form.

In the future, it would be inmediate to have components living on different
libp2p hosts and it is way clearer how to plug into the advanced cluster rpc
api.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-27 18:19:54 +01:00
Hector Sanjuan
17ef2da1ac Enable debug flag. fix accepted response output.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-22 18:29:41 +01:00
Hector Sanjuan
b92b598db1 ipfscluster tool. A CLI app wrapping the Cluster API.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-22 17:14:15 +01:00
Hector Sanjuan
0b5a300568 Harden http.Server
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-22 11:31:09 +01:00
Hector Sanjuan
9ed3d05172 Go vet
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-21 20:46:00 +01:00
Hector Sanjuan
0746ccd11e ipfscluster-server
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-21 20:04:28 +01:00
Hector Sanjuan
34720465cd ipfscluster-server executable
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-21 19:37:25 +01:00
Hector Sanjuan
f785c90de0 Rename E2E tests because they're not really E2E
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-21 14:30:54 +01:00
Hector Sanjuan
5c41d69abc Figured out globalSync and globalSync cid. Tests. More tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-20 19:51:13 +01:00
Hector Sanjuan
07a8f62ef4 Remote should be shutdown too
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-19 20:07:29 +01:00
Hector Sanjuan
fa0a0d2caf Missing return
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-19 19:58:01 +01:00
Hector Sanjuan
25c921e6f5 Unbuffered channel explains hanging issues.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-19 19:40:17 +01:00
Hector Sanjuan
8172b0ca61 Global pin status. /status /status/cid will now report pin tracker state
from all cluster members.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-19 18:35:24 +01:00
Hector Sanjuan
f0c5350743 Get remote RPC requests working. First e2e tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 22:00:08 +01:00
Hector Sanjuan
4ca39ae9b3 Renames of configuration keys and more docs
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 19:14:45 +01:00
Hector Sanjuan
ba31e35c1a File renames and cleanups
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 17:55:24 +01:00
Hector Sanjuan
8c458d0650 Wrote a better IPFS daemon mock for testing. Adapted tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 17:23:39 +01:00
Hector Sanjuan
0422ceed16 Preliminary support for Remote RPC operations
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-16 12:40:28 +01:00
Hector Sanjuan
c1c354b177 Update go-libp2p-raft dependency
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 19:38:15 +01:00
Hector Sanjuan
319c97585b Renames everywhere removing redundant "Cluster" from "ClusterSomething".
Start preparing syncs() and status()

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 19:08:46 +01:00
Hector Sanjuan
45c31846d1 Fix startup sync mechanism
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 15:08:43 +01:00
Hector Sanjuan
09cc7e9265 Lowercase error messages
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 14:19:41 +01:00
Hector Sanjuan
a655288fd6 Improve shutdown routines
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-15 14:07:19 +01:00
Hector Sanjuan
38d878ee5f add TODO.md
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 18:31:05 +01:00
Hector Sanjuan
a9ed5aae5c Some tests had wrong names. Fixed.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 18:04:49 +01:00
Hector Sanjuan
79aa4ebcfa Extend makeRPC test
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 17:55:42 +01:00
Hector Sanjuan
f56a9dd77e Add cluster_test
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 17:25:21 +01:00
Hector Sanjuan
0f31995bd6 consensus tests
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-14 15:31:50 +01:00
Hector Sanjuan
98dc9f2289 Fix syncAll being triggered before cluster run(). Other small things.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-12 13:54:58 +01:00
Hector Sanjuan
c342bbc09f HomeDir
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-12 12:06:11 +01:00
Hector Sanjuan
ef0a9c7ede Grab config from home folder
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-11 17:08:34 +01:00
Hector Sanjuan
34b2b6cbd1 Sync between tracker and cluster state. go vet. tests.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-09 20:54:46 +01:00
Hector Sanjuan
8a60d49c82 Split tests into several test functions.
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-08 19:04:28 +01:00
Hector Sanjuan
744751b117 README badges
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-08 17:47:43 +01:00
Hector Sanjuan
fe0ddbb963 Add missing dep to .travis.yml
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-08 17:39:27 +01:00
Hector Sanjuan
deac66209e Add missing dep to .travis.yml
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2016-12-08 17:35:45 +01:00
Hector Sanjuan
5ae9b58daf Some tests. Mostly to check if travis/coveralls work 2016-12-08 17:24:38 +01:00
Hector Sanjuan
8dfa327724 Travis, coveralls, Makefile 2016-12-08 17:20:16 +01:00
Hector Sanjuan
543f5552ca Return 202-Accepted when requesting to Pin/Unpin 2016-12-07 17:28:46 +01:00
Hector Sanjuan
a9dcf57a90 Add MapPinTracker sync and recover capabilities.
Sync checks that the CID status corresponds to what IPFS says.

Recover retries pinning, unpinning on Error-ed cids.
2016-12-07 17:21:29 +01:00
Hector Sanjuan
9c1c256e33 Introduce the concept of PinTracker. Thin ClusterState to minimal.
+ Try to make RPC handling code cleaner.
2016-12-06 22:29:59 +01:00
Hector Sanjuan
e746ccecb9 Use closable listeners for listening so we can have an orderly shutdown. 2016-12-05 16:24:41 +01:00
Hector Sanjuan
2285f8d1a8 Make ipfs pinning async. Add Pin intermediary states 2016-12-05 15:30:11 +01:00