Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 70 additions & 24 deletions docs/concepts.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,67 @@
hero: All concepts related to cello

## 1. [Server](setup/server.md)
# Concepts

```mermaid
graph LR
subgraph Network
subgraph Channel
subgraph Org A
USER_A[User A]
AGENT_A[Agent A]
NODE_A[Node A]
end

subgraph Org B
USER_B[User B]
AGENT_B[Agent B]
NODE_B[Node B]
end

subgraph Org C
USER_C[User C]
AGENT_C[Agent C]
NODE_C[Node C]
end
end
end

subgraph Hyperledger Cello Server
DASHBOARD[Dashboard]
APIENGINE[API Engine]
DB[(Database)]
end

USER_A --> DASHBOARD
USER_B --> DASHBOARD
USER_C --> DASHBOARD
DASHBOARD --> APIENGINE
APIENGINE --> |Register users, organizations, and networks| DB
APIENGINE --> |Ask for node creations| AGENT_A
APIENGINE --> |Ask for node creations| AGENT_B
APIENGINE --> |Ask for node creations| AGENT_C
APIENGINE --> |Forward Blockchain operations| NODE_A
APIENGINE --> |Forward Blockchain operations| NODE_B
APIENGINE --> |Forward Blockchain operations| NODE_C
AGENT_A --> |Create via CRI| NODE_A
AGENT_B --> |Create via CRI| NODE_B
AGENT_C --> |Create via CRI| NODE_C

### 1.1 Components [^1]
```

## Server

*Server* is shared between organizations. It's used for user management and node manipulation. It will ask agents to create nodes and is responsible for **every operation with them**.

### Components

#### 1.1.1 API Engine
*Components* are all the containers you need to run a Cello Server.

#### Dashboard

The Web UI of Cello.

#### API Engine

Api engine supply the core function, all operations through the api service.

Expand All @@ -14,37 +71,26 @@ Host path mappings:
* /var/run/docker.sock:/var/run/docker.sock {>>Used for agent containers launch, which will deploy fabric, eg. network<<}
* (==optional==) $ROOT_PATH/src/api-engine:/var/www/server {>>When run in debug mode, MODE=dev, will mapping the source code into container, ROOT_PATH is the source code path.<<}

#### 1.1.2 API Engine Tasks
#### Database

This component run all the async longtime task for api engine, it's receive tasks through redis, and can dynamic set the thread pool.

```

#### 1.1.3 Postgres

Store all the data in postgres database, and the storage path is mapping out on the host.
Store all the data in a postgres database, and the storage path is mapping out on the host.

Host path mappings:

* /opt/cello/postgres:/var/lib/postgresql/data {>>Store all db data.<<}

#### 1.1.4 Redis

#### 1.1.5 Dashboard
## Agent

### 1.2 Deployment Method
*Agents* run under every organization. It's used for **creating nodes** for the Blockchain networks.

#### 1.2.1 Docker compose
### Docker

#### 1.2.2 Kubernetes
Docker agent will create nodes as users request via the Docker socket.

## 2. Agent
## Node
*Nodes* are **what really run inside the Blockchain networks**.

### 2.1 [Kubernetes](agents/kubernetes.md)

### 2.2 [Fabric Operator](agents/fabric-operator.md)

[^1]: running containers of cello master service
### Hyperledger Fabric
For more information about the Hyperledger Fabric nodes, please check out the [Hyperledger Fabric Document](https://hyperledger-fabric.readthedocs.io/en/latest/).

<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>.
```
1 change: 1 addition & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
mkdocs>= 1.4.2
mkdocs-material>=4.4.0
pygments>=2.14.0
mkdocs-mermaid2-plugin>=1.2.1
15 changes: 12 additions & 3 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ site_name: Hyperledger Cello
repo_name: "hyperledger/cello"
repo_url: "https://github.com/hyperledger/cello"
theme:
name: "mkdocs"
name: "material"
logo: "images/favicon.png"
favicon: "images/favicon.png"
feature:
Expand All @@ -24,6 +24,14 @@ markdown_extensions:
- markdown.extensions.meta
- markdown.extensions.toc:
permalink: true
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:mermaid2.fence_mermaid
- pymdownx.mark
- pymdownx.critic:
mode: view
docs_dir: docs
nav:
- Docs:
Expand Down Expand Up @@ -52,8 +60,9 @@ nav:
- faq.md
- Release Notes:
- release_note.md
#plugins:
# - search
plugins:
- search
- mermaid2
# - minify:
# minify_html: true
# - pdf-export:
Expand Down
Loading