Commit Graph

14 Commits

Author SHA1 Message Date
Hector Sanjuan
15bb953afd Issue #192: Update docs to the new peerset handling
Also, start removing mentions of `PeerAdd` operation, as things should
happen with `--bootstrap` (Join). PeerAdd should not be part of the user
workflow and might disappear or be hidden in the future.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-11-14 22:06:59 +01:00
Hector Sanjuan
398865f381 Issue #192: Fix typos and address feedback
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-11-14 19:26:49 +01:00
Hector Sanjuan
7baa4c9c6d Guide/Troubleshooting: add the meanings for some libp2p errors
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-11-14 19:26:49 +01:00
Hector Sanjuan
2c3085586c Documentation: bring in line to 0.3.0
Review documentation to be in line with latest updates to Raft and
any other feature introduced since 0.12.0.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-11-14 19:26:49 +01:00
Leo Arias
a4248092bf Add instructions to install the snap to the guide 2017-11-10 02:09:35 +00:00
Leo Arias
6d3e96c7b1
Fix typo: ins/is 2017-11-08 18:29:57 -06:00
Hector Sanjuan
8f06baa1bf Issue #162: Rework configuration format
The following commit reimplements ipfs-cluster configuration under
the following premises:

  * Each component is initialized with a configuration object
  defined by its module
  * Each component decides how the JSON representation of its
  configuration looks like
  * Each component parses and validates its own configuration
  * Each component exposes its own defaults
  * Component configurations are make the sections of a
  central JSON configuration file (which replaces the current
  JSON format)
  * Component configurations implement a common interface
  (config.ComponentConfig) with a set of common operations
  * The central configuration file is managed by a
  config.ConfigManager which:
    * Registers ComponentConfigs
    * Assigns the correspondent sections from the JSON file to each
    component and delegates the parsing
    * Delegates the JSON generation for each section
    * Can be notified when the configuration is updated and must be
    saved to disk

The new service.json would then look as follows:

```json
{
  "cluster": {
    "id": "QmTVW8NoRxC5wBhV7WtAYtRn7itipEESfozWN5KmXUQnk2",
    "private_key": "<...>",
    "secret": "00224102ae6aaf94f2606abf69a0e278251ecc1d64815b617ff19d6d2841f786",
    "peers": [],
    "bootstrap": [],
    "leave_on_shutdown": false,
    "listen_multiaddress": "/ip4/0.0.0.0/tcp/9096",
    "state_sync_interval": "1m0s",
    "ipfs_sync_interval": "2m10s",
    "replication_factor": -1,
    "monitor_ping_interval": "15s"
  },
  "consensus": {
    "raft": {
      "heartbeat_timeout": "1s",
      "election_timeout": "1s",
      "commit_timeout": "50ms",
      "max_append_entries": 64,
      "trailing_logs": 10240,
      "snapshot_interval": "2m0s",
      "snapshot_threshold": 8192,
      "leader_lease_timeout": "500ms"
    }
  },
  "api": {
    "restapi": {
      "listen_multiaddress": "/ip4/127.0.0.1/tcp/9094",
      "read_timeout": "30s",
      "read_header_timeout": "5s",
      "write_timeout": "1m0s",
      "idle_timeout": "2m0s"
    }
  },
  "ipfs_connector": {
    "ipfshttp": {
      "proxy_listen_multiaddress": "/ip4/127.0.0.1/tcp/9095",
      "node_multiaddress": "/ip4/127.0.0.1/tcp/5001",
      "connect_swarms_delay": "7s",
      "proxy_read_timeout": "10m0s",
      "proxy_read_header_timeout": "5s",
      "proxy_write_timeout": "10m0s",
      "proxy_idle_timeout": "1m0s"
    }
  },
  "monitor": {
    "monbasic": {
      "check_interval": "15s"
    }
  },
  "informer": {
    "disk": {
      "metric_ttl": "30s",
      "metric_type": "freespace"
    },
    "numpin": {
      "metric_ttl": "10s"
    }
  }
}
```

This new format aims to be easily extensible per component. As such,
it already surfaces quite a few new options which were hardcoded
before.

Additionally, since Go API have changed, some redundant methods have been
removed and small refactoring has happened to take advantage of the new
way.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-10-18 00:00:12 +02:00
dgrisham
bde7da7619 Updated links to cluster secret info in docs 2017-09-07 17:14:14 -06:00
Hector Sanjuan
fc029269ff Merge pull request #109 from ipfs/feat/pnet
Private Network impl
2017-07-13 21:33:55 +02:00
Hector Sanjuan
568bb54256 Latest touches to documentation
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-07-13 21:12:44 +02:00
dgrisham
90d1e97a8e Cluster secret: Docs, error handling, internal key mgmt. 2017-07-13 11:17:30 -06:00
Hector Sanjuan
faa755f43a Re-allocate pins on peer removal
PeerRm now triggers re-pinning of all the Cids allocated to
the removed peer.

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-07-05 16:38:36 +02:00
Hector Sanjuan
ef4132f572 Fix #84: A guide to running ipfs cluster
This should fix what I meant in #84

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-04-22 13:47:08 +02:00
Hector Sanjuan
c18b4beea3 Try to go more to the point in the readme. Move quickstart guide to docs/
License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-02-27 10:30:09 +01:00