-
Notifications
You must be signed in to change notification settings - Fork 445
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CE-145] Fix documentation structure and links
* Re-struct the documentation * Add necessary links to help explore quickly * Fix several places of documentation content Change-Id: I7eaeecc823d6949218a9b1b7652c37705d2a5849 Signed-off-by: Baohua Yang <yangbaohua@gmail.com>
- Loading branch information
Showing
13 changed files
with
159 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,27 @@ | ||
# Installation | ||
|
||
*Here we describe the setups for development usage. If you want to deploy Cello for production, please also refer to the [Production Configuration](production_config.md).* | ||
Cello follows a typical Master-Worker architecture. There are two types of Nodes in the cluster. | ||
|
||
Cello follows a typical Master-Worker architecture. Hence there will be two types of Nodes. | ||
* Master Node: Holds [Cello services](service_management.md) to manage (e.g., create/delete) the chains inside Work Nodes. Usually, Master Node will provide Web dashboard (port `8080`) and RESTful api (port `80`). It is recommended to use Linux (e.g., Ubuntu 14.04+) or MacOS; | ||
* Worker Node: Nodes to hold blockchains. Take Docker Host or Swarm Cluster for example, the Docker daemon should be accessible (typically at port `2375`) from the Master Node. | ||
|
||
* Master Node: Manage (e.g., create/delete) the chains inside Work Nodes, with Web dashboard listening on port `8080` and RESTful api on port `80`; | ||
* Worker Node: Chain providers, now support Docker Host or Swarm Cluster. The Docker service should be accessible from port `2375` from the Master Node. | ||
![Deployment topology](imgs/deploy_arch.png) | ||
|
||
![Deployment topology](imgs/deployment_topo.png) | ||
## Master Node | ||
|
||
For each Node, it is suggested as a Linux-based (e.g., Ubuntu 14.04+) server/vm: | ||
See [Installation on Master Node](installation_master.md). | ||
|
||
## Worker Node | ||
|
||
Currently we support Docker Host or Swarm Cluster as Worker Node. More types will be added soon. | ||
|
||
`Docker Host`: See [Installation on Worker Docker Node](installation_worker_docker.md). | ||
`Docker Swarm `: TODO. | ||
`Kubernetes`: TODO. | ||
`vSphere`: TODO. | ||
|
||
## Master Node | ||
|
||
See [Installation on Master Node](installation_master.md). | ||
|
||
### Make Command | ||
|
||
A Makefile is provided to help setup the master node, please refer [make_support](/make_support.md) page. | ||
* `Docker Host`: See [Installation on Worker Docker Node](installation_worker_docker.md). | ||
* `Docker Swarm `: See [Create a Docker Swarm](https://docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/). | ||
* `Kubernetes`: See [Kubernetes Setup](https://kubernetes.io/docs/setup/). | ||
* `vSphere`: TODO. | ||
|
||
## Special Configuration for Production | ||
|
||
*Licensed under Creative Commons Attribution 4.0 International License | ||
https://creativecommons.org/licenses/by/4.0/* | ||
Here we describe the setups for development usage. If you want to deploy Cello for production, please also refer to the [Production Configuration](production_config.md). | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,24 @@ | ||
#Monitoring services | ||
The monitoring services build in real time an archive of observations obtained from the analisys of the communication flows of the CELL application services. | ||
|
||
The monitoring services build in real time an archive of observations obtained from the analisys of the communication flows of the Cello application services. | ||
|
||
The observations could be checked in real time (directly in memory) against attacks, anomalies or errors. | ||
|
||
The observations, once processed in real time, are stored into a persistent archive for statistic analisys and reports generation. | ||
|
||
### Config the port to be monitored | ||
Admin can configure the tcp ports to be monitored by the monitoring services, by adding the following two lines: | ||
* # the monitoring services will have to monitor the following ports | ||
* PORTS_TO_BE_MONITORED = list(PEER_SERVICE_PORTS.items()) + list(CA_SERVICE_PORTS.items()) | ||
|
||
```bash | ||
# the monitoring services will have to monitor the following ports | ||
PORTS_TO_BE_MONITORED = list(PEER_SERVICE_PORTS.items()) + list(CA_SERVICE_PORTS.items()) | ||
to the configuration file: /src/common/utils.py | ||
``` | ||
|
||
### Config the monitoring level | ||
Admin can add to the file /src/monitoring/config.py the following flags: | ||
* MONITOR_DB=<file name or network path where to store the persistent archive> | ||
|
||
* MONITOR_DB=[file name or network path where to store the persistent archive] | ||
* MONITOR_LEVEL=FULL | SIMPLE | NONE | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Service Management | ||
|
||
Main Cello services are running in the Master Node. | ||
|
||
## Services | ||
|
||
After starting cello services using `make start`, there will generate several service containers as the following: | ||
|
||
```bash | ||
$ docker ps | ||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
fdf4b8465d14 yeasy/nginx "/bin/bash /tmp/do..." 12 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp, 443/tcp nginx | ||
80c3962867ff mongo:3.2 "docker-entrypoint..." 12 seconds ago Up 11 seconds 127.0.0.1:27017-27018->27017-27018/tcp mongo | ||
91df95a11229 cello-dashboard "python dashboard.py" 12 seconds ago Up 11 seconds 8080/tcp dashboard | ||
051efd511066 cello-watchdog "python watchdog.py" 12 seconds ago Up 11 seconds watchdog | ||
a66bb112a21f cello-restserver "python restserver.py" 12 seconds ago Up 12 seconds 80/tcp restserver | ||
``` | ||
|
||
* `nginx`: [Nginx](https://nginx.org) is used as a reverse proxy to improve web performance. | ||
* `mongo`: [MongoDB](https://www.mongodb.com) is used as the backend database. | ||
* `dashboard`: Provides the admin dashboard using [Flask](http://flask.pocoo.org/). | ||
* `watchdog`: Monitors the status of the system (e.g., chains' health). | ||
* `restserver`: Core engine to do the provision, orchestration and management tasks. | ||
|
||
## Make Command | ||
|
||
A [Makefile](https://en.wikipedia.org/wiki/Makefile) is provided to help setup and manage the master node, please refer to the [make_support](make_support.md) page. | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. |
Oops, something went wrong.