diff --git a/.markdownlint.yml b/.markdownlint.yml
index f65b87cea..d4a796083 100644
--- a/.markdownlint.yml
+++ b/.markdownlint.yml
@@ -1,3 +1,5 @@
MD010: false
MD013:
line_length: 120
+MD046:
+ style: "fenced"
diff --git a/docs/en/README.md b/docs/en/README.md
index ef6a3cc3c..544d36920 100644
--- a/docs/en/README.md
+++ b/docs/en/README.md
@@ -9,29 +9,33 @@ part is that all need.
Organization of document is as following:
-* [Quick Start](quick-start.md)
-* [Deployment](deployment/README.md)
- * [Installation](deployment/installation)
- * [Configuration](deployment/configuration)
-* [Troubleshooting](troubleshooting/README.md)
-* [CLI Reference](cli-reference/README.md)
- * [dfget](cli-reference/dfget.md)
- * [cdn](cli-reference/cdn.md)
- * [scheduler](cli-reference/scheduler.md)
- * [manager](cli-reference/manager.md)
-* [Preheat](preheat/README.md)
- * [Console](preheat/console.md)
- * [Api](preheat/api.md)
-* [Runtime Integration](runtime-integration/README.md)
- * [containerd](runtime-integration/containerd/README.md)
- * [cri-o](runtime-integration/cri-o.md)
- * [docker](runtime-integration/docker.md)
-* [Design](design/README.md)
- * [architecture](design/architecture.md)
- * [manager](design/manager.md)
- * [TODO scheduler](design/scheduler.md)
- * [TODO cdn](design/cdn.md)
- * [TODO dfdaemon](design/dfdaemon.md)
-* [Developer Guide](developer-guide/developer-guide.md)
-* [Test Guide](test-guide/test-guide.md)
-* [API Reference](api-reference/api-reference.md)
+- [Quick Start](quick-start.md)
+- [Deployment](deployment/README.md)
+ - [Installation](deployment/installation)
+ - [Configuration](deployment/configuration)
+- [Troubleshooting](troubleshooting/README.md)
+- [CLI Reference](cli-reference/README.md)
+ - [dfget](cli-reference/dfget.md)
+ - [cdn](cli-reference/cdn.md)
+ - [scheduler](cli-reference/scheduler.md)
+ - [manager](cli-reference/manager.md)
+- [Preheat](preheat/README.md)
+ - [Console](preheat/console.md)
+ - [Api](preheat/api.md)
+- [Runtime Integration](runtime-integration/README.md)
+ - [containerd](runtime-integration/containerd/README.md)
+ - [cri-o](runtime-integration/cri-o.md)
+ - [docker](runtime-integration/docker.md)
+- [Design](design/README.md)
+ - [architecture](design/architecture.md)
+ - [manager](design/manager.md)
+ - [TODO scheduler](design/scheduler.md)
+ - [TODO cdn](design/cdn.md)
+ - [TODO dfdaemon](design/dfdaemon.md)
+- [Developer Guide](developer-guide/README.md)
+ - [Development](developer-guide/development.md)
+ - [Plugin](developer-guide/plugin.md)
+- [User Guide](user-guide/README.md)
+ - [Prometheus Metrics](user-guide/metrics.md)
+- [Test Guide](test-guide/test-guide.md)
+- [API Reference](api-reference/api-reference.md)
diff --git a/docs/en/cli-reference/README.md b/docs/en/cli-reference/README.md
index be2d7e7e9..71d1db287 100644
--- a/docs/en/cli-reference/README.md
+++ b/docs/en/cli-reference/README.md
@@ -10,7 +10,7 @@ all commandline docs are auto generated via source code.
Table of contents:
-* [dfget](dfget.md)
-* [cdn](cdn.md)
-* [scheduler](scheduler.md)
-* [manager](manager.md)
+- [dfget](dfget.md)
+- [cdn](cdn.md)
+- [scheduler](scheduler.md)
+- [manager](manager.md)
diff --git a/docs/en/cli-reference/cdn.md b/docs/en/cli-reference/cdn.md
index de0877415..991b0e2b4 100644
--- a/docs/en/cli-reference/cdn.md
+++ b/docs/en/cli-reference/cdn.md
@@ -13,7 +13,7 @@ cdn [command]
## Available Commands
```text
-doc generate documents
+doc generate documents
help Help about any command
version show version
```
@@ -21,8 +21,9 @@ version show version
## Flags
+
```text
- --config string the path of configuration file with yaml extension name, default is /Users/${USER_HOME}/.dragonfly/config/cdn.yaml, it can
+ --config string the path of configuration file with yaml extension name, default is /Users/${USER_HOME}/.dragonfly/config/cdn.yaml, it can
also be set by environment variable cdn_config
--console whether logger output records to the stdout
-h, --help help for scheduler
@@ -31,4 +32,5 @@ version show version
--service-name string name of the service for tracer (default "dragonfly-cdn")
--verbose whether logger use debug level
```
+
diff --git a/docs/en/cli-reference/dfget.md b/docs/en/cli-reference/dfget.md
index a861b195c..9ef91ef61 100644
--- a/docs/en/cli-reference/dfget.md
+++ b/docs/en/cli-reference/dfget.md
@@ -32,6 +32,7 @@ set environment variable console=true if you want to print logs to Terminal
### Options
+
```
--alivetime duration alive duration for which uploader keeps no accessing by any uploading requests, after this period uploader will automatically exit (default 5m0s)
--cacerts strings the cacert file which is used to verify remote server when supernode interact with the source.
@@ -65,6 +66,7 @@ set environment variable console=true if you want to print logs to Terminal
-u, --url string URL of user requested downloading file(only HTTP/HTTPs supported)
--verbose enable verbose mode, all debug log will be display
```
+
## dfget daemon
@@ -76,6 +78,7 @@ set environment variable console=true if you want to print logs to Terminal
### Daemon Options
+
```
--advertise-ip string the ip report to scheduler, normal same with listen ip (default "10.15.232.63")
--alivetime duration alive duration for which uploader keeps no accessing by any uploading requests, after this period uploader will automatically exit (default 5m0s)
@@ -104,4 +107,5 @@ set environment variable console=true if you want to print logs to Terminal
--upload-rate ratelimit upload rate limit for other peers (default 104857600.000000)
--verbose print verbose log and enable golang debug info
```
+
diff --git a/docs/en/cli-reference/manager.md b/docs/en/cli-reference/manager.md
index 811e196f1..c76a9378d 100644
--- a/docs/en/cli-reference/manager.md
+++ b/docs/en/cli-reference/manager.md
@@ -31,7 +31,7 @@ endpoint: /swagger/doc.json
## Prometheus metrics monitoring
-endpoint: /metrics
+endpoint: /metrics
## HealthCheck
@@ -46,6 +46,7 @@ manager --jaeger http://localhost:14250/api/traces
## Options
+
```text
--config string the path of configuration file with yaml extension name, default is /etc/dragonfly/manager.yaml, it can also be set by env var: MANAGER_CONFIG
--console whether logger output records to the stdout
@@ -55,6 +56,7 @@ manager --jaeger http://localhost:14250/api/traces
--service-name string name of the service for tracer (default "dragonfly-manager")
--verbose whether logger use debug level
```
+
## Manager Config
diff --git a/docs/en/cli-reference/scheduler.md b/docs/en/cli-reference/scheduler.md
index 53cc02d0b..a2716c2bf 100644
--- a/docs/en/cli-reference/scheduler.md
+++ b/docs/en/cli-reference/scheduler.md
@@ -16,7 +16,7 @@ scheduler [command]
## Available Commands
```text
-doc generate documents
+doc generate documents
help Help about any command
version show version
```
@@ -24,8 +24,9 @@ version show version
## Flags
+
```text
- --config string the path of configuration file with yaml extension name, default is /Users/${USER_HOME}/.dragonfly/config/scheduler.yaml, it can
+ --config string the path of configuration file with yaml extension name, default is /Users/${USER_HOME}/.dragonfly/config/scheduler.yaml, it can
also be set by environment variable scheduler_config
--console whether logger output records to the stdout
-h, --help help for scheduler
@@ -34,4 +35,5 @@ version show version
--service-name string name of the service for tracer (default "dragonfly-scheduler")
--verbose whether logger use debug level
```
+
diff --git a/docs/en/deployment/README.md b/docs/en/deployment/README.md
index 6432fa274..0708ed41f 100644
--- a/docs/en/deployment/README.md
+++ b/docs/en/deployment/README.md
@@ -2,8 +2,8 @@
Table of contents:
-* [installation](installation/README.md)
-* [configuration](configuration)
+- [installation](installation/README.md)
+- [configuration](configuration)
## Installation
diff --git a/docs/en/deployment/configuration/cdn.yaml b/docs/en/deployment/configuration/cdn.yaml
index 5f2f8d353..081815327 100644
--- a/docs/en/deployment/configuration/cdn.yaml
+++ b/docs/en/deployment/configuration/cdn.yaml
@@ -44,11 +44,11 @@ base:
# logDir is the log storage directory
# in linux, default value is /var/log/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/logs
- logDir: ""
+ logDir: ''
# manager configuration
manager:
- addr: ""
+ addr: ''
cdnClusterID: 0
keepAlive:
interval: 5s
@@ -116,7 +116,7 @@ verbose: false
pprof-port: -1
# jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
# service name used in tracer
# default: dragonfly-cdn
diff --git a/docs/en/deployment/configuration/dfget.yaml b/docs/en/deployment/configuration/dfget.yaml
index 620e4f240..b7c786db0 100644
--- a/docs/en/deployment/configuration/dfget.yaml
+++ b/docs/en/deployment/configuration/dfget.yaml
@@ -8,22 +8,22 @@ gcInterval: 1m0s
# daemon work directory, daemon will change current working directory to this
# in linux, default value is /usr/local/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly
-workHome: ""
+workHome: ''
# cacheDir is dynconfig cache storage directory
# in linux, default value is /var/cache/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/cache
-cacheDir: ""
+cacheDir: ''
# logDir is the log storage directory
# in linux, default value is /var/log/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/logs
-logDir: ""
+logDir: ''
# dataDir is the download data storage directory
# in linux, default value is /var/lib/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/data
-dataDir: ""
+dataDir: ''
# when daemon exit, keep peer task data or not
# it is usefully when upgrade daemon service, all local cache will be saved
@@ -41,7 +41,7 @@ verbose: false
pprof-port: -1
# jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
# all addresses of all schedulers
# the schedulers of all daemons should be same in one region or zone.
@@ -75,13 +75,13 @@ host:
# when local ip is different with access ip, advertiseIP should be set
advertiseIP: 0.0.0.0
# geographical location, separated by "|" characters
- location: ""
+ location: ''
# idc deployed by daemon
- idc: ""
+ idc: ''
# security domain deployed by daemon, network isolation between different security domains
- securityDomain: ""
+ securityDomain: ''
# network topology, separated by "|" characters
- netTopology: ""
+ netTopology: ''
# daemon hostname
# hostname: ""
@@ -116,9 +116,9 @@ download:
# security option
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tlsConfig: null
# download service listen address
# current, only support unix domain socket
@@ -131,9 +131,9 @@ download:
peerGRPC:
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# listen address
listen: 0.0.0.0
@@ -151,9 +151,9 @@ upload:
rateLimit: 100Mi
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# listen address
listen: 0.0.0.0
@@ -196,17 +196,17 @@ proxy:
# when defaultFilter: "Expires&Signature", for example:
# http://localhost/xyz?Expires=111&Signature=222 and http://localhost/xyz?Expires=333&Signature=999
# is same task
- defaultFilter: "Expires&Signature"
+ defaultFilter: 'Expires&Signature'
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# namespace stands the linux net namespace, like /proc/1/ns/net
# it's useful for running daemon in pod with ip allocated and listening the special port in host net namespace
# Linux only
- namespace: ""
+ namespace: ''
# listen address
listen: 0.0.0.0
# listen port, daemon will try to listen
@@ -248,8 +248,8 @@ proxy:
hijackHTTPS:
# key pair used to hijack https requests
- cert: ""
- key: ""
+ cert: ''
+ key: ''
hosts:
- regx: mirror.aliyuncs.com:443 # regexp to match request hosts
# whether to ignore https certificate errors
@@ -260,7 +260,7 @@ proxy:
maxConcurrency: 0
whiteList:
# the host of the whitelist
- - host: ""
+ - host: ''
# match whitelist hosts
regx:
# port that need to be added to the whitelist
diff --git a/docs/en/deployment/configuration/manager.yaml b/docs/en/deployment/configuration/manager.yaml
index d1b61d0b4..85466f259 100644
--- a/docs/en/deployment/configuration/manager.yaml
+++ b/docs/en/deployment/configuration/manager.yaml
@@ -70,4 +70,4 @@ verbose: false
pprof-port: -1
# jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
diff --git a/docs/en/deployment/configuration/scheduler.yaml b/docs/en/deployment/configuration/scheduler.yaml
index 73d3d2872..138acebea 100644
--- a/docs/en/deployment/configuration/scheduler.yaml
+++ b/docs/en/deployment/configuration/scheduler.yaml
@@ -11,11 +11,11 @@ server:
# cacheDir is dynconfig cache storage directory
# in linux, default value is /var/cache/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/cache
- cacheDir: ""
+ cacheDir: ''
# logDir is the log storage directory
# in linux, default value is /var/log/dragonfly
# in macos(just for testing), default value is /Users/$USER/.dragonfly/logs
- logDir: ""
+ logDir: ''
# scheduler policy configuration
scheduler:
@@ -57,11 +57,11 @@ dynConfig:
# scheduler host configuration
host:
# idc is the idc of scheduler instance
- idc: ""
+ idc: ''
# netTopology is the net topology of scheduler instance
- netTopology: ""
+ netTopology: ''
# location is the location of scheduler instance
- location: ""
+ location: ''
# manager configuration
manager:
@@ -89,11 +89,11 @@ job:
# redis configuration
redis:
# host
- host: ""
+ host: ''
# port
port: 6379
# password
- password: ""
+ password: ''
# brokerDB
brokerDB: 1
# backendDB
@@ -104,7 +104,7 @@ metrics:
# scheduler enable metrics service
enable: false
# metrics service address
- addr: ":8000"
+ addr: ':8000'
# enable peer host metrics
enablePeerHost: false
@@ -119,4 +119,4 @@ verbose: false
pprof-port: -1
# jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
diff --git a/docs/en/deployment/installation/README.md b/docs/en/deployment/installation/README.md
index 3a987bb88..39c41c13a 100644
--- a/docs/en/deployment/installation/README.md
+++ b/docs/en/deployment/installation/README.md
@@ -2,6 +2,6 @@
Table of contents:
-* [docker](docker/README.md)
-* [executable-files](executable-files/README.md)
-* [kubernetes](kubernetes/README.md)
+- [docker](docker/README.md)
+- [executable-files](executable-files/README.md)
+- [kubernetes](kubernetes/README.md)
diff --git a/docs/en/deployment/installation/docker/README.md b/docs/en/deployment/installation/docker/README.md
index 4ae0d666c..5e65b2f90 100644
--- a/docs/en/deployment/installation/docker/README.md
+++ b/docs/en/deployment/installation/docker/README.md
@@ -6,5 +6,5 @@ or install separately according to modules.
Table of contents:
-* [Docker Compose](docker-compose.md)
-* [Standalone](standalone/README.md)
+- [Docker Compose](docker-compose.md)
+- [Standalone](standalone/README.md)
diff --git a/docs/en/deployment/installation/docker/standalone/README.md b/docs/en/deployment/installation/docker/standalone/README.md
index 19d5e4736..fe7db3192 100644
--- a/docs/en/deployment/installation/docker/standalone/README.md
+++ b/docs/en/deployment/installation/docker/standalone/README.md
@@ -14,10 +14,10 @@ is the installation instructions of dragonfly.
## Install separately
-* [install-client](./dfdaemon.md) is the installation instructions of dfdaemon
+- [install-client](./dfdaemon.md) is the installation instructions of dfdaemon
-* [install-manager](./manager.md) is the installation instructions of manager
+- [install-manager](./manager.md) is the installation instructions of manager
-* [install-scheduler](./scheduler.md) is the installation instructions of scheduler
+- [install-scheduler](./scheduler.md) is the installation instructions of scheduler
-* [install-cdn](./cdn.md) is the installation instructions of CDN
+- [install-cdn](./cdn.md) is the installation instructions of CDN
diff --git a/docs/en/deployment/installation/docker/standalone/cdn.md b/docs/en/deployment/installation/docker/standalone/cdn.md
index a75b8b8c1..af21b68a8 100644
--- a/docs/en/deployment/installation/docker/standalone/cdn.md
+++ b/docs/en/deployment/installation/docker/standalone/cdn.md
@@ -6,10 +6,10 @@ This topic explains how to install the Dragonfly CDN server.
When deploying with Docker, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## Procedure - When Deploying with Docker
@@ -19,36 +19,36 @@ You can get it from [DockerHub](https://hub.docker.com/) directly.
1. Obtain the latest Docker image of the cdn.
- ```sh
- docker pull dragonflyoss/cdn
- ```
+ ```sh
+ docker pull dragonflyoss/cdn
+ ```
Or you can build your own cdn image.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Build the Docker image.
- ```sh
- TAG="2.0.0"
- make docker-build-cdn D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-cdn D7Y_VERSION=$TAG
+ ```
4. Obtain the latest Docker image ID of the cdn.
- ```sh
- docker image ls | grep 'cdn' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'cdn' | awk '{print $3}' | head -n1
+ ```
### Start cdn
@@ -57,7 +57,7 @@ Or you can build your own cdn image.
```sh
docker run -d --name cdn --restart=always \
-p 8001:8001 -p 8003:8003 \
- -v /home/admin/ftp:/home/admin/ftp ${cdnDockerImageId} \
+ -v /home/admin/ftp:/home/admin/ftp ${cdnDockerImageId} \
--download-port=8001
```
diff --git a/docs/en/deployment/installation/docker/standalone/dfdaemon.md b/docs/en/deployment/installation/docker/standalone/dfdaemon.md
index e76f37a5b..95cbaac07 100644
--- a/docs/en/deployment/installation/docker/standalone/dfdaemon.md
+++ b/docs/en/deployment/installation/docker/standalone/dfdaemon.md
@@ -6,10 +6,10 @@ This topic explains how to install the Dragonfly dfdaemon server.
When deploying with Docker, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## Procedure - When Deploying with Docker
@@ -19,36 +19,36 @@ You can get it from [DockerHub](https://hub.docker.com/) directly.
1. Obtain the latest Docker image of the dfdaemon.
- ```sh
- docker pull dragonflyoss/dfdaemon
- ```
+ ```sh
+ docker pull dragonflyoss/dfdaemon
+ ```
Or you can build your own dfdaemon image.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Build the Docker image.
- ```sh
- TAG="2.0.0"
- make docker-build-dfdaemon D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-dfdaemon D7Y_VERSION=$TAG
+ ```
4. Obtain the latest Docker image ID of the dfdaemon.
- ```sh
- docker image ls | grep 'dfdaemon' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'dfdaemon' | awk '{print $3}' | head -n1
+ ```
### Start dfdaemon
diff --git a/docs/en/deployment/installation/docker/standalone/manager.md b/docs/en/deployment/installation/docker/standalone/manager.md
index 00fa1b8c6..8494590fa 100644
--- a/docs/en/deployment/installation/docker/standalone/manager.md
+++ b/docs/en/deployment/installation/docker/standalone/manager.md
@@ -6,10 +6,10 @@ This topic explains how to install the Dragonfly manager server.
When deploying with Docker, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## Procedure - When Deploying with Docker
@@ -19,36 +19,36 @@ You can get it from [DockerHub](https://hub.docker.com/) directly.
1. Obtain the latest Docker image of the manager.
- ```sh
- docker pull dragonflyoss/manager
- ```
+ ```sh
+ docker pull dragonflyoss/manager
+ ```
Or you can build your own manager image.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Build the Docker image.
- ```sh
- TAG="2.0.0"
- make docker-build-manager D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-manager D7Y_VERSION=$TAG
+ ```
4. Obtain the latest Docker image ID of the manager.
- ```sh
- docker image ls | grep 'manager' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'manager' | awk '{print $3}' | head -n1
+ ```
### Start manager
diff --git a/docs/en/deployment/installation/docker/standalone/scheduler.md b/docs/en/deployment/installation/docker/standalone/scheduler.md
index b0b9eb6a2..3a696be84 100644
--- a/docs/en/deployment/installation/docker/standalone/scheduler.md
+++ b/docs/en/deployment/installation/docker/standalone/scheduler.md
@@ -6,10 +6,10 @@ This topic explains how to install the Dragonfly scheduler server.
When deploying with Docker, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## Procedure - When Deploying with Docker
@@ -19,36 +19,36 @@ You can get it from [DockerHub](https://hub.docker.com/) directly.
1. Obtain the latest Docker image of the scheduler.
- ```sh
- docker pull dragonflyoss/scheduler
- ```
+ ```sh
+ docker pull dragonflyoss/scheduler
+ ```
Or you can build your own scheduler image.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Build the Docker image.
- ```sh
- TAG="2.0.0"
- make docker-build-scheduler D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-scheduler D7Y_VERSION=$TAG
+ ```
4. Obtain the latest Docker image ID of the scheduler.
- ```sh
- docker image ls | grep 'scheduler' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'scheduler' | awk '{print $3}' | head -n1
+ ```
### Start scheduler
diff --git a/docs/en/deployment/installation/executable-files/README.md b/docs/en/deployment/installation/executable-files/README.md
index eb9a1a10a..78fb12b86 100644
--- a/docs/en/deployment/installation/executable-files/README.md
+++ b/docs/en/deployment/installation/executable-files/README.md
@@ -5,10 +5,10 @@ the executable files separately according to the modules.
## Install separately
-* [install-client](dfdaemon.md) is the installation instructions of dfdaemon
+- [install-client](dfdaemon.md) is the installation instructions of dfdaemon
-* [install-manager](manager.md) is the installation instructions of manager
+- [install-manager](manager.md) is the installation instructions of manager
-* [install-scheduler](scheduler.md) is the installation instructions of scheduler
+- [install-scheduler](scheduler.md) is the installation instructions of scheduler
-* [install-cdn](cdn.md) is the installation instructions of CDN
+- [install-cdn](cdn.md) is the installation instructions of CDN
diff --git a/docs/en/deployment/installation/executable-files/cdn.md b/docs/en/deployment/installation/executable-files/cdn.md
index 03acac5ef..b8917c1bb 100644
--- a/docs/en/deployment/installation/executable-files/cdn.md
+++ b/docs/en/deployment/installation/executable-files/cdn.md
@@ -6,54 +6,54 @@ This topic explains how to install the Dragonfly CDN server.
When deploying with physical machines, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## Procedure - When Deploying with Physical Machines
### Get cdn executable file
1. Download a binary package of the cdn. You can download one of
-the latest builds for Dragonfly on the
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
+ the latest builds for Dragonfly on the
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. Unzip the package.
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. Move the `cdn` to your `PATH` environment variable to
-make sure you can directly use `cdn` command.
+ make sure you can directly use `cdn` command.
Or you can build your own cdn executable file.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Compile the source code.
- ```sh
- make build-cdn && make install-cdn
- ```
+ ```sh
+ make build-cdn && make install-cdn
+ ```
### Start cdn
@@ -69,31 +69,31 @@ You can start a file server in any way.
However, the following conditions must be met:
- It must be rooted at `cdnHomeDir/ftp` which is
-defined in the previous step.
+ defined in the previous step.
- It must listen on the port `cdnDownloadPort` which is
-defined in the previous step.
+ defined in the previous step.
Let's take nginx as an example.
1. Add the following configuration items to
-the Nginx configuration file.
+ the Nginx configuration file.
- ```conf
- server {
- # Must be ${cdnDownloadPort}
- listen 8001;
- location / {
- # Must be ${cdnHomeDir}/ftp
- root /home/admin/ftp;
- }
- }
- ```
+ ```conf
+ server {
+ # Must be ${cdnDownloadPort}
+ listen 8001;
+ location / {
+ # Must be ${cdnHomeDir}/ftp
+ root /home/admin/ftp;
+ }
+ }
+ ```
2. Start Nginx.
- ```sh
- sudo nginx
- ```
+ ```sh
+ sudo nginx
+ ```
After cdn is installed, run the following commands to
verify if Nginx and **cdn** are started,
diff --git a/docs/en/deployment/installation/executable-files/dfdaemon.md b/docs/en/deployment/installation/executable-files/dfdaemon.md
index 5fcb2cb96..7104d15c0 100644
--- a/docs/en/deployment/installation/executable-files/dfdaemon.md
+++ b/docs/en/deployment/installation/executable-files/dfdaemon.md
@@ -6,53 +6,53 @@ This topic explains how to install the Dragonfly dfdaemon server.
When deploying with physical machines, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Golang|1.12.x
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
## Procedure - When Deploying with Physical Machines
### Get dfget executable file
1. Download a binary package of the dfget. You can download one of
-the latest builds for Dragonfly on the
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
+ the latest builds for Dragonfly on the
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. Unzip the package.
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. Move the `dfget` to your `PATH` environment variable to
-make sure you can directly use `dfget` command.
+ make sure you can directly use `dfget` command.
Or you can build your own dfget executable file.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Compile the source code.
- ```sh
- make build-dfget && make install-dfget
- ```
+ ```sh
+ make build-dfget && make install-dfget
+ ```
### Start dfdaemon
diff --git a/docs/en/deployment/installation/executable-files/manager.md b/docs/en/deployment/installation/executable-files/manager.md
index b2d8dc78a..79131b7f4 100644
--- a/docs/en/deployment/installation/executable-files/manager.md
+++ b/docs/en/deployment/installation/executable-files/manager.md
@@ -6,54 +6,54 @@ This topic explains how to install the Dragonfly manager server.
When deploying with physical machines, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## Procedure - When Deploying with Physical Machines
### Get manager executable file
1. Download a binary package of the manager. You can download
-one of the latest builds for Dragonfly on
-the [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
+ one of the latest builds for Dragonfly on
+ the [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. Unzip the package.
- ```sh
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```sh
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. Move the `manager` to your `PATH` environment variable
-to make sure you can directly use `manager` command.
+ to make sure you can directly use `manager` command.
Or you can build your own manager executable file.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Compile the source code.
- ```sh
- make build-manager && make install-manager
- ```
+ ```sh
+ make build-manager && make install-manager
+ ```
### Start manager
diff --git a/docs/en/deployment/installation/executable-files/scheduler.md b/docs/en/deployment/installation/executable-files/scheduler.md
index 0c6d6be96..79ce267e6 100644
--- a/docs/en/deployment/installation/executable-files/scheduler.md
+++ b/docs/en/deployment/installation/executable-files/scheduler.md
@@ -6,54 +6,54 @@ This topic explains how to install the Dragonfly scheduler server.
When deploying with physical machines, the following conditions must be met.
-Required Software | Version Limit
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| Required Software | Version Limit |
+| ----------------- | ------------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## Procedure - When Deploying with Physical Machines
### Get scheduler executable file
1. Download a binary package of the scheduler.
-You can download one of the latest builds for
-Dragonfly on the [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
+ You can download one of the latest builds for
+ Dragonfly on the [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases).
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. Unzip the package.
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. Move the `scheduler` to your `PATH` environment
-variable to make sure you can directly use `scheduler` command.
+ variable to make sure you can directly use `scheduler` command.
Or you can build your own scheduler executable file.
1. Obtain the source code of Dragonfly.
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. Enter the project directory.
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. Compile the source code.
- ```sh
- make build-scheduler && make install-scheduler
- ```
+ ```sh
+ make build-scheduler && make install-scheduler
+ ```
### Start scheduler
diff --git a/docs/en/deployment/installation/kubernetes/README.md b/docs/en/deployment/installation/kubernetes/README.md
index a91c0658b..5c264bb5d 100644
--- a/docs/en/deployment/installation/kubernetes/README.md
+++ b/docs/en/deployment/installation/kubernetes/README.md
@@ -6,6 +6,6 @@ daemon as `DaemonSets`, manager as `Deployments`.
Table of contents:
-* [Helm](helm.md)
-* [Kustomize](kustomize.md)
-* [TODO Upgrade Guide](upgrade-guide.md)
+- [Helm](helm.md)
+- [Kustomize](kustomize.md)
+- [TODO Upgrade Guide](upgrade-guide.md)
diff --git a/docs/en/deployment/installation/kubernetes/helm.md b/docs/en/deployment/installation/kubernetes/helm.md
index 4fb3bda86..a20c2e463 100644
--- a/docs/en/deployment/installation/kubernetes/helm.md
+++ b/docs/en/deployment/installation/kubernetes/helm.md
@@ -8,21 +8,21 @@ you can skip [Configure Runtime](#configure-runtime-manually) manually.
### 1. Docker
> **We did not recommend to using dragonfly
-with docker in Kubernetes**
-due to many reasons:
-no fallback image pulling policy.
-deprecated in Kubernetes.
+> with docker in Kubernetes**
+> due to many reasons:
+> no fallback image pulling policy.
+> deprecated in Kubernetes.
> Because the original `daemonset` in
-Kubernetes did not support `Surging Rolling Update` policy.
+> Kubernetes did not support `Surging Rolling Update` policy.
> When kill current dfdaemon pod,
-the new pod image can not be pulled anymore.
+> the new pod image can not be pulled anymore.
> If you can not change runtime from docker to others,
-remind to choose a plan when upgrade dfdaemon:
+> remind to choose a plan when upgrade dfdaemon:
> pull newly dfdaemon image manually before upgrade dragonfly,
-or use [ImagePullJob](https://openkruise.io/docs/user-manuals/imagepulljob) to
-pull image automate.
+> or use [ImagePullJob](https://openkruise.io/docs/user-manuals/imagepulljob) to
+> pull image automate.
> keep the image registry of dragonfly is
-different from common registries and add host in `containerRuntime.docker.skipHosts`.
+> different from common registries and add host in `containerRuntime.docker.skipHosts`.
Dragonfly helm supports config docker automatically.
@@ -33,6 +33,7 @@ Config cases:
Chart customize values.yaml:
+
```yaml
containerRuntime:
docker:
@@ -42,9 +43,10 @@ containerRuntime:
# When use certs and inject hosts in docker, no necessary to restart docker daemon.
injectHosts: true
registryDomains:
- - "harbor.example.com"
- - "harbor.example.net"
+ - "harbor.example.com"
+ - "harbor.example.net"
```
+
This config enables docker pulling images from
@@ -57,7 +59,7 @@ Advantages:
- Support upgrade dfdaemon smoothness
> In this mode, when dfdaemon pod deleted,
- the `preStop` hook will remove all injected hosts info in /etc/hosts,
+> the `preStop` hook will remove all injected hosts info in /etc/hosts,
> all images traffic fallbacks to original registries.
Limitations:
@@ -69,6 +71,7 @@ Limitations:
Chart customize values.yaml:
+
```yaml
containerRuntime:
docker:
@@ -78,9 +81,10 @@ containerRuntime:
# If did not want restart docker daemon, keep containerRuntime.docker.restart=false and containerRuntime.docker.injectHosts=true.
restart: true
skipHosts:
- - "127.0.0.1"
- - "docker.io" # Dragonfly use this image registry to upgrade itself, so we need skip it. Change it in real environment.
+ - "127.0.0.1"
+ - "docker.io" # Dragonfly use this image registry to upgrade itself, so we need skip it. Change it in real environment.
```
+
This config enables docker pulling images from arbitrary registries via Dragonfly.
@@ -124,30 +128,28 @@ containerRuntime:
- Option 1 - Allow charts to inject config_path and restart containerd.
- This option also enable multiple registry mirrors support.
+ This option also enable multiple registry mirrors support.
- > Caution: if there are already many other mirror config in config.toml,
- should not use this option, or migrate your config with `config_path`.
+ > Caution: if there are already many other mirror config in config.toml,
+ > should not use this option, or migrate your config with `config_path`.
- Chart customize values.yaml:
+ Chart customize values.yaml:
- ```yaml
- containerRuntime:
- containerd:
- enable: true
- injectConfigPath: true
- ```
+ ```yaml
+ containerRuntime:
+ containerd:
+ enable: true
+ injectConfigPath: true
+ ```
- Option 2 - Just mirror only one registry
-which `dfdaemon.config.proxy.registryMirror.url` is
+ which `dfdaemon.config.proxy.registryMirror.url` is Chart customize values.yaml:
- Chart customize values.yaml:
-
- ```yaml
- containerRuntime:
- containerd:
- enable: true
- ```
+ ```yaml
+ containerRuntime:
+ containerd:
+ enable: true
+ ```
#### Case 3: Version 1
@@ -178,9 +180,9 @@ containerRuntime:
enable: true
# Registries full urls
registries:
- - "https://ghcr.io"
- - "https://quay.io"
- - "https://harbor.example.com:8443"
+ - "https://ghcr.io"
+ - "https://quay.io"
+ - "https://harbor.example.com:8443"
```
## Prepare Kubernetes Cluster
diff --git a/docs/en/design/README.md b/docs/en/design/README.md
index f3eb7e71c..8ec0cc5b7 100644
--- a/docs/en/design/README.md
+++ b/docs/en/design/README.md
@@ -8,8 +8,8 @@ all APIs in Dragonfly and some technical things else.
Table of contents:
-* [architecture](architecture.md)
-* [manager](manager.md)
-* [TODO scheduler](scheduler.md)
-* [TODO cdn](cdn.md)
-* [TODO dfdaemon](dfdaemon.md)
+- [architecture](architecture.md)
+- [manager](manager.md)
+- [TODO scheduler](scheduler.md)
+- [TODO cdn](cdn.md)
+- [TODO dfdaemon](dfdaemon.md)
diff --git a/docs/en/design/architecture.md b/docs/en/design/architecture.md
index 0e8dcdaca..764161e48 100644
--- a/docs/en/design/architecture.md
+++ b/docs/en/design/architecture.md
@@ -72,7 +72,7 @@ data market, multi-tenancy, and permission control, etc.
#### CDN system
-![cdn][TODO cdn]
+![cdn][todo cdn]
### Sub-system function
diff --git a/docs/en/developer-guide/README.md b/docs/en/developer-guide/README.md
new file mode 100644
index 000000000..3071256f4
--- /dev/null
+++ b/docs/en/developer-guide/README.md
@@ -0,0 +1,8 @@
+# Developer Guide
+
+Understand how to develop dragonfly project and plugins.
+
+Table of contents:
+
+- [Development](development.md)
+- [Plugin](plugin.md)
diff --git a/docs/en/developer-guide/developer-guide.md b/docs/en/developer-guide/development.md
similarity index 99%
rename from docs/en/developer-guide/developer-guide.md
rename to docs/en/developer-guide/development.md
index ba08c74bd..7ac889bb8 100644
--- a/docs/en/developer-guide/developer-guide.md
+++ b/docs/en/developer-guide/development.md
@@ -24,6 +24,7 @@ Attaching to cdn, scheduler, dfdaemon
Show dragonfly logs.
+
```bash
$ tail -f log/**/*.log
==> log/dragonfly/cdn/core.log <==
@@ -49,6 +50,7 @@ $ tail -f log/**/*.log
{"level":"info","ts":"2021-02-26 05:43:37.342","caller":"worker/sender.go:49","msg":"start sender worker : 50"}
{"level":"info","ts":"2021-02-26 05:43:37.343","caller":"worker/worker_group.go:64","msg":"start scheduler worker number:6"}
```
+
## Step 4: Stop dragonfly
diff --git a/docs/en/developer-guide/plugin.md b/docs/en/developer-guide/plugin.md
index 5120a2f98..69dbd4920 100644
--- a/docs/en/developer-guide/plugin.md
+++ b/docs/en/developer-guide/plugin.md
@@ -12,22 +12,26 @@ The resource plugin is used to download custom resource like `dfget -u d7yfs://h
All resource plugins need to implement `d7y.io/dragonfly/v2/pkg/source.ResourceClient`
and a function
+
+
`func DragonflyPluginInit(option map[string]string) (interface{}, map[string]string, error)`.
+
+
```golang
// ResourceClient defines the API interface to interact with source.
type ResourceClient interface {
// GetContentLength get length of resource content
// return source.UnknownSourceFileLen if response status is not StatusOK and StatusPartialContent
GetContentLength(request *Request) (int64, error)
-
+
// IsSupportRange checks if resource supports breakpoint continuation
// return false if response status is not StatusPartialContent
IsSupportRange(request *Request) (bool, error)
-
+
// IsExpired checks if a resource received or stored is the same.
// return false and non-nil err to prevent the source from exploding if
// fails to get the result, it is considered that the source has not expired
@@ -35,11 +39,12 @@ type ResourceClient interface {
// Download downloads from source
Download(request *Request) (*Response, error)
-
+
// GetLastModified gets last modified timestamp milliseconds of resource
GetLastModified(request *Request) (int64, error)
}
```
+
### Example Code
@@ -47,6 +52,7 @@ type ResourceClient interface {
#### 1. main.go
+
```golang
package main
@@ -107,11 +113,13 @@ func DragonflyPluginInit(option map[string]string) (interface{}, map[string]stri
```
+
#### 2. go.mod
+
```
module example.com/d7yfs
@@ -132,6 +140,7 @@ require (
// fix golang build error: `plugin was built with a different version of package d7y.io/dragonfly/v2/internal/dflog`
replace d7y.io/dragonfly/v2 => /Dragonfly2
```
+
### Build
@@ -141,6 +150,7 @@ replace d7y.io/dragonfly/v2 => /Dragonfly2
> Update `D7Y_COMMIT` in the following script.
+
```shell
# golang plugin need cgo
# original Dragonfly2 image is built with CGO_ENABLED=0 for alpine linux
@@ -159,6 +169,7 @@ go mod tidy -compat=1.17
go build -ldflags="-X main.buildTime=${BUILD_TIME} -X main.buildCommit=${BUILD_COMMIT}" \
-buildmode=plugin -o=/usr/local/dragonfly/plugins/d7y-resource-plugin-d7yfs.so ./main.go
```
+
#### 2. Validate plugin
@@ -170,10 +181,12 @@ go build -ldflags="-X main.buildTime=${BUILD_TIME} -X main.buildCommit=${BUILD_C
Example output:
+
```text
search plugin in /usr/local/dragonfly/plugins
resource plugin d7yfs, location: d7y-resource-plugin-d7yfs.so, attribute: {"buildCommit":"bb65f13","buildTime":"2021-12-13T08:53:04Z","name":"d7yfs","schema":"d7yfs","type":"resource","vendor":"d7y"}
```
+
## Searcher plugin
diff --git a/docs/en/preheat/README.md b/docs/en/preheat/README.md
index 2803e7331..cac2e7cc6 100644
--- a/docs/en/preheat/README.md
+++ b/docs/en/preheat/README.md
@@ -5,5 +5,5 @@ Users can be preheat in the `console` or directly call `preheat api` for preheat
Table of contents:
-* [Console](console.md)
-* [Api](api.md)
+- [Console](console.md)
+- [Api](api.md)
diff --git a/docs/en/quick-start.md b/docs/en/quick-start.md
index 1613462a2..b15910a8f 100644
--- a/docs/en/quick-start.md
+++ b/docs/en/quick-start.md
@@ -11,14 +11,16 @@ We recommend to use `Containerd with CRI` and `CRI-O` client.
This table describes some container runtimes version and documents.
-| Runtime | Version | Document | CRI Support | Pull Command |
-| --- | --- | --- | --- | --- |
-| Containerd* | v1.1.0+ | [Link](runtime-integration/containerd/mirror.md) | Yes | crictl pull docker.io/library/alpine:latest |
-| Containerd without CRI | < v1.1.0 | [Link](runtime-integration/containerd/proxy.md) | No | ctr image pull docker.io/library/alpine |
-| CRI-O | All | [Link](runtime-integration/cri-o.md) | Yes | crictl pull docker.io/library/alpine:latest |
+
+| Runtime | Version | Document | CRI Support | Pull Command |
+| ----------------------- | -------- | ------------------------------------------------ | ----------- | ------------------------------------------- |
+| Containerd\* | v1.1.0+ | [Link](runtime-integration/containerd/mirror.md) | Yes | crictl pull docker.io/library/alpine:latest |
+| Containerd without CRI | < v1.1.0 | [Link](runtime-integration/containerd/proxy.md) | No | ctr image pull docker.io/library/alpine |
+| CRI-O | All | [Link](runtime-integration/cri-o.md) | Yes | crictl pull docker.io/library/alpine:latest |
+
-**: `containerd` is recommended*
+`containerd` is recommended.
## Runtime Configuration Guide for Dragonfly Helm Chart
@@ -40,8 +42,8 @@ containerRuntime:
# When use certs and inject hosts in docker, no necessary to restart docker daemon.
injectHosts: true
registryDomains:
- - "harbor.example.com"
- - "harbor.example.net"
+ - 'harbor.example.com'
+ - 'harbor.example.net'
```
This config enables docker pulling images from registries
@@ -50,7 +52,7 @@ When deploying Dragonfly with above config, it's unnecessary to restart docker d
Limitations:
-* Only support implicit registries
+- Only support implicit registries
## Prepare Kubernetes Cluster
diff --git a/docs/en/runtime-integration/README.md b/docs/en/runtime-integration/README.md
index 8e02a2cda..f66edbc14 100644
--- a/docs/en/runtime-integration/README.md
+++ b/docs/en/runtime-integration/README.md
@@ -2,6 +2,6 @@
Table of contents:
-* [containerd](containerd/README.md)
-* [cri-o](cri-o.md)
-* [docker](docker.md)
+- [containerd](containerd/README.md)
+- [cri-o](cri-o.md)
+- [docker](docker.md)
diff --git a/docs/en/runtime-integration/containerd/README.md b/docs/en/runtime-integration/containerd/README.md
index e1ea07e0a..ed5dab568 100644
--- a/docs/en/runtime-integration/containerd/README.md
+++ b/docs/en/runtime-integration/containerd/README.md
@@ -5,5 +5,5 @@ Containerd. We recommend to use `mirror`.
Table of contents:
-* [mirror](mirror.md)
-* [proxy](proxy.md)
+- [mirror](mirror.md)
+- [proxy](proxy.md)
diff --git a/docs/en/runtime-integration/containerd/mirror.md b/docs/en/runtime-integration/containerd/mirror.md
index 7960c6a8a..d4fc4ffd1 100644
--- a/docs/en/runtime-integration/containerd/mirror.md
+++ b/docs/en/runtime-integration/containerd/mirror.md
@@ -71,7 +71,7 @@ In this config, registry auth configuration needs to be based on `127.0.0.1:6500
> More details about Containerd configuration:
> Containerd has deprecated the above config from v1.4.0,
- new format for reference:
+> new format for reference:
### Option 2: Multiple Registries
diff --git a/docs/en/runtime-integration/containerd/proxy.md b/docs/en/runtime-integration/containerd/proxy.md
index 4cfe047db..d2913d625 100644
--- a/docs/en/runtime-integration/containerd/proxy.md
+++ b/docs/en/runtime-integration/containerd/proxy.md
@@ -142,7 +142,7 @@ proxy:
key: ca.key
hosts:
- regx: your.private.registry
- certs: ["server.crt"]
+ certs: ['server.crt']
```
You can get the certificate of your server with:
diff --git a/docs/en/runtime-integration/docker.md b/docs/en/runtime-integration/docker.md
index 5cf6916da..80586a997 100644
--- a/docs/en/runtime-integration/docker.md
+++ b/docs/en/runtime-integration/docker.md
@@ -150,7 +150,7 @@ proxy:
key: ca.key
hosts:
- regx: your.private.registry
- certs: ["server.crt"]
+ certs: ['server.crt']
```
You can get the certificate of your server with:
diff --git a/docs/en/troubleshooting/README.md b/docs/en/troubleshooting/README.md
index f05da7698..4f7a03be9 100644
--- a/docs/en/troubleshooting/README.md
+++ b/docs/en/troubleshooting/README.md
@@ -26,17 +26,17 @@ change log level to info
1. Confirm limit rate in [dfget.yaml](https://github.com/dragonflyoss/Dragonfly2/blob/main/docs/en/deployment/configuration/dfget.yaml#L65)
- ```yaml
- download:
- # total download limit per second
- totalRateLimit: 200Mi
- # per peer task download limit per second
- # default is 20Mi, this default is in consideration of extreme environments
- perPeerRateLimit: 100Mi
- upload:
- # upload limit per second
- rateLimit: 100Mi
- ```
+ ```yaml
+ download:
+ # total download limit per second
+ totalRateLimit: 200Mi
+ # per peer task download limit per second
+ # default is 20Mi, this default is in consideration of extreme environments
+ perPeerRateLimit: 100Mi
+ upload:
+ # upload limit per second
+ rateLimit: 100Mi
+ ```
2. Confirm source connection speed in CDN and dfdaemon
diff --git a/docs/en/user-guide/README.md b/docs/en/user-guide/README.md
new file mode 100644
index 000000000..e63f23bcc
--- /dev/null
+++ b/docs/en/user-guide/README.md
@@ -0,0 +1,7 @@
+# User Guide
+
+Understand how to use Dragonfly from installing the server and client to downloading files.
+
+Table of contents:
+
+- [Prometheus Metrics](metrics.md)
diff --git a/docs/en/user-guide/metrics.md b/docs/en/user-guide/metrics.md
new file mode 100644
index 000000000..7eac09404
--- /dev/null
+++ b/docs/en/user-guide/metrics.md
@@ -0,0 +1,67 @@
+# Prometheus Metrics
+
+This doc contains all the metrics that Dragonfly components currently support.
+Now we support metrics for Dfdaemon, Manager, Scheduler and CDN.
+The metrics path is fixed to /metrics. The following metrics are exported.
+
+## Dfdaemon
+
+GRPC metrics are exposed via [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| Name | Labels | Type | Description |
+| :------------------------------------------------------- | :----- | :------ | :---------------------------------------------------- |
+| dragonfly_dfdaemon_proxy_request_total | method | counter | Counter of the total proxy request. |
+| dragonfly_dfdaemon_proxy_request_via_dragonfly_total | | counter | Counter of the total proxy request via Dragonfly. |
+| dragonfly_dfdaemon_proxy_request_not_via_dragonfly_total | | counter | Counter of the total proxy request not via Dragonfly. |
+| dragonfly_dfdaemon_proxy_request_running_total | method | counter | Current running count of proxy request. |
+| dragonfly_dfdaemon_proxy_request_bytes_total | method | counter | Counter of the total byte of all proxy request. |
+| dragonfly_dfdaemon_peer_task_total | | counter | Counter of the total peer tasks. |
+| dragonfly_dfdaemon_peer_task_failed_total | | counter | Counter of the total failed peer tasks. |
+| dragonfly_dfdaemon_piece_task_total | | counter | Counter of the total failed piece tasks. |
+| dragonfly_dfdaemon_piece_task_failed_total | | counter | Dragonfly dfget tasks. |
+| dragonfly_dfdaemon_file_task_total | | counter | Counter of the total file tasks. |
+| dragonfly_dfdaemon_stream_task_total | | counter | Counter of the total stream tasks. |
+| dragonfly_dfdaemon_peer_task_cache_hit_total | | counter | Counter of the total cache hit peer tasks. |
+
+
+
+## Manager
+
+GRPC metrics are exposed via [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+## Scheduler
+
+GRPC metrics are exposed via [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| Name | Labels | Type | Description |
+| :----------------------------------------------------------- | :----------------------------------------- | :-------- | :--------------------------------------------------------- |
+| dragonfly_scheduler_register_peer_task_total | | counter | Counter of the number of the register peer task. |
+| dragonfly_scheduler_register_peer_task_failure_total | | counter | Counter of the number of failed of the register peer task. |
+| dragonfly_scheduler_download_total | | counter | Counter of the number of the downloading. |
+| dragonfly_scheduler_download_failure_total | | counter | Counter of the number of failed of the downloading. |
+| dragonfly_scheduler_p2p_traffic | | counter | Counter of the number of p2p traffic. |
+| dragonfly_scheduler_peer_host_traffic | traffic_type, peer_host_uuid, peer_host_ip | counter | Counter of the number of per peer host traffic. |
+| dragonfly_scheduler_peer_task_total | type | counter | Counter of the number of peer task. |
+| dragonfly_scheduler_peer_task_download_duration_milliseconds | | histogram | Histogram of the time each peer task downloading. |
+| dragonfly_scheduler_concurrent_schedule_total | | gauge | Gauge of the number of concurrent of the scheduling. |
+
+
+
+## CDN
+
+GRPC metrics are exposed via [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| Name | Labels | Type | Description |
+| :-------------------------------------- | :----- | :------ | :----------------------------------------------------- |
+| dragonfly_cdn_download_total | | counter | Counter of the number of the downloading. |
+| dragonfly_cdn_download_failure_total | | counter | Counter of the number of failed of the downloading. |
+| dragonfly_cdn_download_traffic | | counter | Counter of the number of download traffic. |
+| dragonfly_cdn_concurrent_download_total | | gauge | Gauger of the number of concurrent of the downloading. |
+
+
diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md
index ff7ceaf3b..33f638523 100644
--- a/docs/zh-CN/README.md
+++ b/docs/zh-CN/README.md
@@ -6,29 +6,33 @@ Dragonfly 文档介绍了 Dragonfly 各方面的信息。如果您对 Dragonfly
文档文件组织如下:
-* [快速开始](quick-start.md)
-* [部署](deployment/README.md)
- * [安装](deployment/installation)
- * [配置](deployment/configuration)
-* [故障排查](troubleshooting/README.md)
-* [CLI参考](cli-reference/README.md)
- * [dfget](cli-reference/dfget.md)
- * [cdn](cli-reference/cdn.md)
- * [scheduler](cli-reference/scheduler.md)
- * [manager](cli-reference/manager.md)
-* [预热](preheat/README.md)
- * [Console](preheat/console.md)
- * [Api](preheat/api.md)
-* [运行时集成](runtime-integration/README.md)
- * [containerd](runtime-integration/containerd/README.md)
- * [cri-o](runtime-integration/cri-o.md)
- * [docker](runtime-integration/docker.md)
-* [架构设计](design/README.md)
- * [整体架构](design/architecture.md)
- * [manager](design/manager.md)
- * [TODO scheduler](design/scheduler.md)
- * [TODO cdn](design/cdn.md)
- * [TODO dfdaemon](design/dfdaemon.md)
-* [开发者指南](developer-guide/developer-guide.md)
-* [测试指南](test-guide/test-guide.md)
-* [API 参考](api-reference/api-reference.md)
+- [快速开始](quick-start.md)
+- [部署](deployment/README.md)
+ - [安装](deployment/installation)
+ - [配置](deployment/configuration)
+- [故障排查](troubleshooting/README.md)
+- [CLI 参考](cli-reference/README.md)
+ - [dfget](cli-reference/dfget.md)
+ - [cdn](cli-reference/cdn.md)
+ - [scheduler](cli-reference/scheduler.md)
+ - [manager](cli-reference/manager.md)
+- [预热](preheat/README.md)
+ - [Console](preheat/console.md)
+ - [Api](preheat/api.md)
+- [运行时集成](runtime-integration/README.md)
+ - [containerd](runtime-integration/containerd/README.md)
+ - [cri-o](runtime-integration/cri-o.md)
+ - [docker](runtime-integration/docker.md)
+- [架构设计](design/README.md)
+ - [整体架构](design/architecture.md)
+ - [manager](design/manager.md)
+ - [TODO scheduler](design/scheduler.md)
+ - [TODO cdn](design/cdn.md)
+ - [TODO dfdaemon](design/dfdaemon.md)
+- [开发者指南](developer-guide/README.md)
+ - [开发](developer-guide/developer.md)
+ - [插件](developer-guide/plugin.md)
+- [用户指南](user-guide/README.md)
+ - [Prometheus 数据指标](user-guide/metrics.md)
+- [测试指南](test-guide/test-guide.md)
+- [API 参考](api-reference/api-reference.md)
diff --git a/docs/zh-CN/cli-reference/README.md b/docs/zh-CN/cli-reference/README.md
index d00ba7efe..a1a42bdf2 100644
--- a/docs/zh-CN/cli-reference/README.md
+++ b/docs/zh-CN/cli-reference/README.md
@@ -8,7 +8,7 @@
内容列表:
-* [dfget](dfget.md)
-* [cdn](cdn.md)
-* [scheduler](scheduler.md)
-* [manager](manager.md)
+- [dfget](dfget.md)
+- [cdn](cdn.md)
+- [scheduler](scheduler.md)
+- [manager](manager.md)
diff --git a/docs/zh-CN/cli-reference/cdn.md b/docs/zh-CN/cli-reference/cdn.md
index 7aec15f89..3009fb1f3 100644
--- a/docs/zh-CN/cli-reference/cdn.md
+++ b/docs/zh-CN/cli-reference/cdn.md
@@ -12,7 +12,7 @@ cdn [command]
## 可用子命令
```text
-doc 生成帮助文档
+doc 生成帮助文档
help 命令的帮助文档
version 查看 cdn 当前版本
```
@@ -20,6 +20,7 @@ version 查看 cdn 当前版本
## 可选参数
+
```text
--config string 配置文件地址 (默认值为/Users/${USER_HOME}/.dragonfly/config/cdn.yaml),也可以使用环境变量 cdn_config 进行配置
--console logger 日志是否输出记录到标准输出
@@ -29,4 +30,5 @@ version 查看 cdn 当前版本
--service-name string tracer分布式追踪日志中的服务名称 (默认 "dragonfly-scheduler")
--verbose 是否使用debug级别的日志输出
```
+
diff --git a/docs/zh-CN/cli-reference/dfget.md b/docs/zh-CN/cli-reference/dfget.md
index a463df731..25df256c8 100644
--- a/docs/zh-CN/cli-reference/dfget.md
+++ b/docs/zh-CN/cli-reference/dfget.md
@@ -2,7 +2,7 @@
## dfget
-`dfget` 是Dragonfly中用来下载和上传文件的客户端。
+`dfget` 是 Dragonfly 中用来下载和上传文件的客户端。
### dfget 简介
@@ -24,11 +24,12 @@ dfget --schedulers 127.0.0.1:8002 -o /path/to/output -u "http://example.com/obje
### 查看 dfget 日志
-如果您想要在Terminal中查看日志,请使用 --console参数,或者将环境变量 console 设置为 true。
+如果您想要在 Terminal 中查看日志,请使用 --console 参数,或者将环境变量 console 设置为 true。
### dfget 的可选参数
+
```text
--alivetime duration alive duration for which uploader keeps no accessing by any uploading requests, after this period uploader will automatically exit (default 5m0s)
--cacerts strings the cacert file which is used to verify remote server when supernode interact with the source.
@@ -62,17 +63,19 @@ dfget --schedulers 127.0.0.1:8002 -o /path/to/output -u "http://example.com/obje
-u, --url string URL of user requested downloading file(only HTTP/HTTPs supported)
--verbose enable verbose mode, all debug log will be display
```
+
## dfget daemon
### 查看 daemon 日志
-如果您想要在Terminal中查看日志,请使用 --console参数,或者将环境变量 console 设置为 true。
+如果您想要在 Terminal 中查看日志,请使用 --console 参数,或者将环境变量 console 设置为 true。
### daemon 的可选参数
+
```text
--advertise-ip string the ip report to scheduler, normal same with listen ip (default "10.15.232.63")
--alivetime duration alive duration for which uploader keeps no accessing by any uploading requests, after this period uploader will automatically exit (default 5m0s)
@@ -101,4 +104,5 @@ dfget --schedulers 127.0.0.1:8002 -o /path/to/output -u "http://example.com/obje
--upload-rate ratelimit upload rate limit for other peers (default 104857600.000000)
--verbose print verbose log and enable golang debug info
```
+
diff --git a/docs/zh-CN/cli-reference/manager.md b/docs/zh-CN/cli-reference/manager.md
index 49b1945cb..13a47d190 100644
--- a/docs/zh-CN/cli-reference/manager.md
+++ b/docs/zh-CN/cli-reference/manager.md
@@ -21,11 +21,11 @@ manager [Option]
启动时配置参数: --pprof-port port
```
-## Swagger支持
+## Swagger 支持
端点: /swagger/doc.json
-## Prometheus集成
+## Prometheus 集成
端点: /metrics
@@ -33,7 +33,7 @@ manager [Option]
端点: /healthy/
-## jaeger集成
+## jaeger 集成
```text
启动时配置 --jaeger http://localhost:14250/api/traces
diff --git a/docs/zh-CN/cli-reference/scheduler.md b/docs/zh-CN/cli-reference/scheduler.md
index f934989e0..df032d1f3 100644
--- a/docs/zh-CN/cli-reference/scheduler.md
+++ b/docs/zh-CN/cli-reference/scheduler.md
@@ -1,7 +1,7 @@
# Scheduler
Scheduler 是一个常驻后台运行的进程,用于接收和管理客户端的下载任务,
-通知CDN进行回源, 在下载过程中生成维护P2P网络,给客户端推送适合的下载节点
+通知 CDN 进行回源, 在下载过程中生成维护 P2P 网络,给客户端推送适合的下载节点
## 用法
@@ -13,7 +13,7 @@ scheduler [command]
## 可用子命令
```text
-doc 生成帮助文档
+doc 生成帮助文档
help 命令的帮助文档
version 查看 scheduler 当前版本
```
diff --git a/docs/zh-CN/deployment/README.md b/docs/zh-CN/deployment/README.md
index 03b6a43c0..8c63bdb2f 100644
--- a/docs/zh-CN/deployment/README.md
+++ b/docs/zh-CN/deployment/README.md
@@ -2,8 +2,8 @@
内容:
-* [安装](installation/README.md)
-* [配置](configuration)
+- [安装](installation/README.md)
+- [配置](configuration)
## 安装
diff --git a/docs/zh-CN/deployment/configuration/cdn.yaml b/docs/zh-CN/deployment/configuration/cdn.yaml
index be87fe999..75050b443 100644
--- a/docs/zh-CN/deployment/configuration/cdn.yaml
+++ b/docs/zh-CN/deployment/configuration/cdn.yaml
@@ -48,12 +48,12 @@ base:
# cdn 日志目录
# linux 上默认目录 /var/log/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/logs
- logDir: ""
+ logDir: ''
# CDN 连接的 manager,可以不指定。
# 各项配置默认值如下。如果 addr 为空字符串,CDN将不会连接manager。
manager:
- addr: ""
+ addr: ''
cdnClusterID: 0
keepAlive:
interval: 5s
@@ -61,9 +61,9 @@ base:
# 主机信息
host:
# 地理位置
- location: ""
+ location: ''
# IDC(Internet Data Center),互联网数据中心
- idc: ""
+ idc: ''
# 开启数据收集服务
# metrics:
@@ -123,7 +123,7 @@ pprof-port: -1
# jaeger 地址
# 默认使用空字符串(不配置 jaeger), 例如: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
# tracer 中使用的 service-name
# 默认值:dragonfly-cdn
diff --git a/docs/zh-CN/deployment/configuration/dfget.yaml b/docs/zh-CN/deployment/configuration/dfget.yaml
index ccc395f5e..6cdd275c9 100644
--- a/docs/zh-CN/deployment/configuration/dfget.yaml
+++ b/docs/zh-CN/deployment/configuration/dfget.yaml
@@ -8,22 +8,22 @@ gcInterval: 1m0s
# daemon 工作目录
# linux 上默认目录 /usr/local/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly
-workHome: ""
+workHome: ''
# daemon 动态配置缓存目录
# linux 上默认目录 /var/cache/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/cache
-cacheDir: ""
+cacheDir: ''
# daemon 日志目录
# linux 上默认目录 /var/log/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/logs
-logDir: ""
+logDir: ''
# daemon 数据目录
# linux 上默认目录为 /var/lib/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/data/
-dataDir: ""
+dataDir: ''
# 当 daemon 退出是, 是否保存缓存数据
# 保留缓存数据在升级 daemon 的时候比较有用
@@ -41,7 +41,7 @@ pprof-port: -1
# jaeger 地址
# 默认使用空字符串(不配置 jaeger), 例如: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
# 调度器地址
# 尽量使用同一个地区的调度器.
@@ -73,13 +73,13 @@ host:
# 其他 daemon 可以通过这个 IP 地址连接过来
advertiseIP: 0.0.0.0
# 地理信息, 通过 "|" 符号分隔
- location: ""
+ location: ''
# 机房信息
- idc: ""
+ idc: ''
# 安全域信息,不同安全域之间网络隔离
- securityDomain: ""
+ securityDomain: ''
# 网络拓扑结构,通过 "|" 符号分隔
- netTopology: ""
+ netTopology: ''
# 主机名称
# hostname: ""
@@ -96,9 +96,9 @@ download:
# 安全选项
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tlsConfig: null
# 下载服务监听地址,dfget 下载文件将通过该地址连接到 daemon
# 目前是支持 unix domain socket
@@ -111,9 +111,9 @@ download:
peerGRPC:
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# 监听地址
listen: 0.0.0.0
@@ -130,9 +130,9 @@ upload:
rateLimit: 100Mi
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# 监听地址
listen: 0.0.0.0
@@ -174,17 +174,17 @@ proxy:
# 例如:defaultFilter: "Expires&Signature":
# http://localhost/xyz?Expires=111&Signature=222 and http://localhost/xyz?Expires=333&Signature=999
# 是相同的 task
- defaultFilter: "Expires&Signature"
+ defaultFilter: 'Expires&Signature'
security:
insecure: true
- cacert: ""
- cert: ""
- key: ""
+ cacert: ''
+ cert: ''
+ key: ''
tcpListen:
# 监听的网络命名空间, 例如:/proc/1/ns/net
# 主要用在部署 kubernetes 中的时候,daemon 不使用 host network 时,监听宿主机的端口
# 仅支持 Linux
- namespace: ""
+ namespace: ''
# 监听地址
listen: 0.0.0.0
# 监听端口
@@ -222,8 +222,8 @@ proxy:
hijackHTTPS:
# https 劫持的证书和密钥
# 建议自签 CA 并更新主机证书链
- cert: ""
- key: ""
+ cert: ''
+ key: ''
# 需要走蜻蜓 p2p 的流量
hosts:
- regx: mirror.aliyuncs.com:443 # 正则匹配
@@ -236,7 +236,7 @@ proxy:
# 白名单,如果设置了,仅白名单内可以走代理,其他的都拒绝
whiteList:
# 主机信息
- - host: ""
+ - host: ''
# 正则匹配
regx:
# 端口白名单
diff --git a/docs/zh-CN/deployment/configuration/manager.yaml b/docs/zh-CN/deployment/configuration/manager.yaml
index dbefdffa1..7b7d3ff67 100644
--- a/docs/zh-CN/deployment/configuration/manager.yaml
+++ b/docs/zh-CN/deployment/configuration/manager.yaml
@@ -69,4 +69,4 @@ pprof-port: -1
# jaeger 地址
# 默认使用空字符串(不配置 jaeger), 例如: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
diff --git a/docs/zh-CN/deployment/configuration/scheduler.yaml b/docs/zh-CN/deployment/configuration/scheduler.yaml
index f7278bf49..270b2b0f1 100644
--- a/docs/zh-CN/deployment/configuration/scheduler.yaml
+++ b/docs/zh-CN/deployment/configuration/scheduler.yaml
@@ -11,11 +11,11 @@ server:
# daemon 动态配置缓存目录
# linux 上默认目录 /var/cache/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/cache
- cacheDir: ""
+ cacheDir: ''
# daemon 日志目录
# linux 上默认目录 /var/log/dragonfly
# macos(仅开发、测试), 默认目录是 /Users/$USER/.dragonfly/logs
- logDir: ""
+ logDir: ''
# scheduler 调度策略配置
scheduler:
@@ -55,18 +55,18 @@ dynConfig:
# 实例主机信息
host:
# 实例所在机房
- idc: ""
+ idc: ''
# 实例网络拓扑信息
- netTopology: ""
+ netTopology: ''
# 实例所在的地理位置信息
- location: ""
+ location: ''
# manager 配置
manager:
# 启动与 manager 的连接
enable: true
# manager 访问地址
- addr: ""
+ addr: ''
# 注册的 scheduler 集群 ID
schedulerClusterID:
# manager 心跳配置
@@ -87,11 +87,11 @@ job:
# redis 配置
redis:
# 服务地址
- host: ""
+ host: ''
# 服务端口
port: 6379
# 密码
- password: ""
+ password: ''
# broker 数据库
brokerDB: 1
# backend 数据库
@@ -102,7 +102,7 @@ metrics:
# 启动数据收集服务
enable: false
# 数据服务地址
- addr: ":8000"
+ addr: ':8000'
# 开机收集 peer host 数据
enablePeerHost: false
@@ -117,4 +117,4 @@ pprof-port: -1
# jaeger 地址
# 默认使用空字符串(不配置 jaeger), 例如: http://jaeger.dragonfly.svc:14268/api/traces
-jaeger: ""
+jaeger: ''
diff --git a/docs/zh-CN/deployment/installation/README.md b/docs/zh-CN/deployment/installation/README.md
index d8da82b5d..70d03e578 100644
--- a/docs/zh-CN/deployment/installation/README.md
+++ b/docs/zh-CN/deployment/installation/README.md
@@ -2,6 +2,6 @@
内容:
-* [docker](docker/README.md)
-* [executable-files](executable-files/README.md)
-* [kubernetes](kubernetes/README.md)
+- [docker](docker/README.md)
+- [executable-files](executable-files/README.md)
+- [kubernetes](kubernetes/README.md)
diff --git a/docs/zh-CN/deployment/installation/docker/README.md b/docs/zh-CN/deployment/installation/docker/README.md
index d5b415a85..d3332c42a 100644
--- a/docs/zh-CN/deployment/installation/docker/README.md
+++ b/docs/zh-CN/deployment/installation/docker/README.md
@@ -4,5 +4,5 @@
安装选项:
-* [Docker Compose](docker-compose.md)
-* [Standalone](standalone/README.md)
+- [Docker Compose](docker-compose.md)
+- [Standalone](standalone/README.md)
diff --git a/docs/zh-CN/deployment/installation/docker/standalone/README.md b/docs/zh-CN/deployment/installation/docker/standalone/README.md
index f7a24dcd9..88ba6ee1a 100644
--- a/docs/zh-CN/deployment/installation/docker/standalone/README.md
+++ b/docs/zh-CN/deployment/installation/docker/standalone/README.md
@@ -10,10 +10,10 @@
## 按模块单独安装
-* [install-dfdaemon](./dfdaemon.md) 是 dfdaemon 的安装指南
+- [install-dfdaemon](./dfdaemon.md) 是 dfdaemon 的安装指南
-* [install-manager](./manager.md) 是 manager 的安装指南
+- [install-manager](./manager.md) 是 manager 的安装指南
-* [install-scheduler](./scheduler.md) 是 scheduler 的安装指南
+- [install-scheduler](./scheduler.md) 是 scheduler 的安装指南
-* [install-cdn](./cdn.md) 是 CDN 的安装指南
+- [install-cdn](./cdn.md) 是 CDN 的安装指南
diff --git a/docs/zh-CN/deployment/installation/docker/standalone/cdn.md b/docs/zh-CN/deployment/installation/docker/standalone/cdn.md
index 1a4e07c87..180128d8e 100644
--- a/docs/zh-CN/deployment/installation/docker/standalone/cdn.md
+++ b/docs/zh-CN/deployment/installation/docker/standalone/cdn.md
@@ -6,10 +6,10 @@
使用 Docker 部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## 使用 Docker 部署
@@ -19,36 +19,36 @@ Docker|1.12.0+
1. 获取最新的 CDN 镜像
- ```sh
- docker pull dragonflyoss/cdn
- ```
+ ```sh
+ docker pull dragonflyoss/cdn
+ ```
或者您可以构建自己的 CDN 镜像
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 构建 CDN 的 Docker 镜像
- ```sh
- TAG="2.0.0"
- make docker-build-cdn D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-cdn D7Y_VERSION=$TAG
+ ```
4. 获取最新的 CDN 镜像 ID
- ```sh
- docker image ls | grep 'cdn' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'cdn' | awk '{print $3}' | head -n1
+ ```
### 启动 cdn
diff --git a/docs/zh-CN/deployment/installation/docker/standalone/dfdaemon.md b/docs/zh-CN/deployment/installation/docker/standalone/dfdaemon.md
index 908f93bd2..38dd094ed 100644
--- a/docs/zh-CN/deployment/installation/docker/standalone/dfdaemon.md
+++ b/docs/zh-CN/deployment/installation/docker/standalone/dfdaemon.md
@@ -6,10 +6,10 @@
使用 Docker 部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## 使用 Docker 部署
@@ -19,36 +19,36 @@ Docker|1.12.0+
1. 获取最新的 dfdaemon 镜像
- ```sh
- docker pull dragonflyoss/dfdaemon
- ```
+ ```sh
+ docker pull dragonflyoss/dfdaemon
+ ```
或者您可以构建自己的 dfdaemon 镜像
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 构建 dfdaemon 的 Docker 镜像
- ```sh
- TAG="2.0.0"
- make docker-build-dfdaemon D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-dfdaemon D7Y_VERSION=$TAG
+ ```
4. 获取最新的 dfdaemon 镜像 ID
- ```sh
- docker image ls | grep 'dfdaemon' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'dfdaemon' | awk '{print $3}' | head -n1
+ ```
### 启动 dfdaemon
diff --git a/docs/zh-CN/deployment/installation/docker/standalone/manager.md b/docs/zh-CN/deployment/installation/docker/standalone/manager.md
index 83f585480..de6d99b15 100644
--- a/docs/zh-CN/deployment/installation/docker/standalone/manager.md
+++ b/docs/zh-CN/deployment/installation/docker/standalone/manager.md
@@ -6,10 +6,10 @@
使用 Docker 部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## 使用 Docker 部署
@@ -19,36 +19,36 @@ Docker|1.12.0+
1. 获取最新的 Manager 镜像
- ```sh
- docker pull dragonflyoss/manager
- ```
+ ```sh
+ docker pull dragonflyoss/manager
+ ```
或者您可以构建自己的 manager 镜像
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 构建 manager 的 Docker 镜像
- ```sh
- TAG="2.0.0"
- make docker-build-manager D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-manager D7Y_VERSION=$TAG
+ ```
4. 获取最新的 manager 镜像 ID
- ```sh
- docker image ls | grep 'manager' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'manager' | awk '{print $3}' | head -n1
+ ```
### 启动 manager
diff --git a/docs/zh-CN/deployment/installation/docker/standalone/scheduler.md b/docs/zh-CN/deployment/installation/docker/standalone/scheduler.md
index 9675526ac..9ef331807 100644
--- a/docs/zh-CN/deployment/installation/docker/standalone/scheduler.md
+++ b/docs/zh-CN/deployment/installation/docker/standalone/scheduler.md
@@ -6,10 +6,10 @@
使用 Docker 部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Docker|1.12.0+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Docker | 1.12.0+ |
## 使用 Docker 部署
@@ -19,36 +19,36 @@ Docker|1.12.0+
1. 获取最新的 scheduler 镜像
- ```sh
- docker pull dragonflyoss/scheduler
- ```
+ ```sh
+ docker pull dragonflyoss/scheduler
+ ```
或者您可以构建自己的 scheduler 镜像
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 构建 scheduler 的 Docker 镜像
- ```sh
- TAG="2.0.0"
- make docker-build-scheduler D7Y_VERSION=$TAG
- ```
+ ```sh
+ TAG="2.0.0"
+ make docker-build-scheduler D7Y_VERSION=$TAG
+ ```
4. 获取最新的 scheduler 镜像 ID
- ```sh
- docker image ls | grep 'scheduler' | awk '{print $3}' | head -n1
- ```
+ ```sh
+ docker image ls | grep 'scheduler' | awk '{print $3}' | head -n1
+ ```
### 启动 scheduler
diff --git a/docs/zh-CN/deployment/installation/executable-files/README.md b/docs/zh-CN/deployment/installation/executable-files/README.md
index 8653facf9..969124d00 100644
--- a/docs/zh-CN/deployment/installation/executable-files/README.md
+++ b/docs/zh-CN/deployment/installation/executable-files/README.md
@@ -4,10 +4,10 @@
## 按模块单独安装
-* [install-dfdaemon](dfdaemon.md) 是 dfdaemon 的安装指南
+- [install-dfdaemon](dfdaemon.md) 是 dfdaemon 的安装指南
-* [install-manager](manager.md) 是 manager 的安装指南
+- [install-manager](manager.md) 是 manager 的安装指南
-* [install-scheduler](scheduler.md) 是 scheduler 的安装指南
+- [install-scheduler](scheduler.md) 是 scheduler 的安装指南
-* [install-cdn](cdn.md) 是 CDN 的安装指南
+- [install-cdn](cdn.md) 是 CDN 的安装指南
diff --git a/docs/zh-CN/deployment/installation/executable-files/cdn.md b/docs/zh-CN/deployment/installation/executable-files/cdn.md
index 5f4714f3a..56b227656 100644
--- a/docs/zh-CN/deployment/installation/executable-files/cdn.md
+++ b/docs/zh-CN/deployment/installation/executable-files/cdn.md
@@ -6,31 +6,31 @@
直接在物理机上部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## 在物理机上部署
### 获取 CDN 可执行文件
1. 下载 Dragonfly 项目的压缩包。您可以从
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
-下载一个已发布的最近版本
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
+ 下载一个已发布的最近版本
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. 解压压缩包
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. 把 `cdn` 移动到环境变量 `PATH` 下以确保您可以直接使用 `cdn` 命令
@@ -38,21 +38,21 @@ Nginx|0.8+
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 编译源码
- ```sh
- make build-cdn && make install-cdn
- ```
+ ```sh
+ make build-cdn && make install-cdn
+ ```
### 启动 cdn
@@ -73,26 +73,26 @@ cdn --port=8003 --download-port=$cdnDownloadPort
1. 将下面的配置添加到 Nginx 配置文件中
- ```conf
- server {
- # Must be ${cdnDownloadPort}
- listen 8001;
- location / {
- # Must be ${cdnHomeDir}/ftp
- root /home/admin/ftp;
- }
- }
- ```
+ ```conf
+ server {
+ # Must be ${cdnDownloadPort}
+ listen 8001;
+ location / {
+ # Must be ${cdnHomeDir}/ftp
+ root /home/admin/ftp;
+ }
+ }
+ ```
2. 启动 Nginx.
- ```sh
- sudo nginx
- ```
+ ```sh
+ sudo nginx
+ ```
- CDN 部署完成之后,运行以下命令以检查 Nginx 和 **cdn** 是否正在运行,以及 `8001` 和 `8003` 端口是否可用。
+ CDN 部署完成之后,运行以下命令以检查 Nginx 和 **cdn** 是否正在运行,以及 `8001` 和 `8003` 端口是否可用。
- ```sh
- telnet 127.0.0.1 8001
- telnet 127.0.0.1 8003
- ```
+ ```sh
+ telnet 127.0.0.1 8001
+ telnet 127.0.0.1 8003
+ ```
diff --git a/docs/zh-CN/deployment/installation/executable-files/dfdaemon.md b/docs/zh-CN/deployment/installation/executable-files/dfdaemon.md
index 7bcd9d1a6..9ab547096 100644
--- a/docs/zh-CN/deployment/installation/executable-files/dfdaemon.md
+++ b/docs/zh-CN/deployment/installation/executable-files/dfdaemon.md
@@ -6,30 +6,30 @@
直接在物理机上部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Golang|1.12.x
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
## 在物理机上部署
### 获取 dfget 可执行文件
1. 下载 Dragonfly 项目的压缩包。您可以从
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
-下载一个已发布的最近版本
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
+ 下载一个已发布的最近版本
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. 解压压缩包
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. 把 `dfget` 移动到环境变量 `PATH` 下以确保您可以直接使用 `dfget` 命令
@@ -37,21 +37,21 @@ Golang|1.12.x
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 编译源码
- ```sh
- make build-dfget && make install-dfget
- ```
+ ```sh
+ make build-dfget && make install-dfget
+ ```
### 启动 dfdaemon
diff --git a/docs/zh-CN/deployment/installation/executable-files/manager.md b/docs/zh-CN/deployment/installation/executable-files/manager.md
index f64fc1564..e33836d50 100644
--- a/docs/zh-CN/deployment/installation/executable-files/manager.md
+++ b/docs/zh-CN/deployment/installation/executable-files/manager.md
@@ -6,31 +6,31 @@
直接在物理机上部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## 在物理机上部署
### 获取 manager 可执行文件
1. 下载 Dragonfly 项目的压缩包。您可以从
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
-下载一个已发布的最近版本
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
+ 下载一个已发布的最近版本
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. 解压压缩包
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. 把 `manager` 移动到环境变量 `PATH` 下以确保您可以直接使用 `manager` 命令
@@ -38,21 +38,21 @@ Nginx|0.8+
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 编译源码
- ```sh
- make build-manager && make install-manager
- ```
+ ```sh
+ make build-manager && make install-manager
+ ```
### 启动 manager
diff --git a/docs/zh-CN/deployment/installation/executable-files/scheduler.md b/docs/zh-CN/deployment/installation/executable-files/scheduler.md
index 070be89ed..2f5328baa 100644
--- a/docs/zh-CN/deployment/installation/executable-files/scheduler.md
+++ b/docs/zh-CN/deployment/installation/executable-files/scheduler.md
@@ -6,31 +6,31 @@
直接在物理机上部署时,以下条件必须满足:
-所需软件 | 版本要求
----|---
-Git|1.9.1+
-Golang|1.12.x
-Nginx|0.8+
+| 所需软件 | 版本要求 |
+| -------- | -------- |
+| Git | 1.9.1+ |
+| Golang | 1.12.x |
+| Nginx | 0.8+ |
## 在物理机上部署
### 获取 scheduler 可执行文件
1. 下载 Dragonfly 项目的压缩包。您可以从
-[github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
-下载一个已发布的最近版本
+ [github releases page](https://github.com/dragonflyoss/Dragonfly2/releases)
+ 下载一个已发布的最近版本
- ```sh
- version=2.0.0
- wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
- ```
+ ```sh
+ version=2.0.0
+ wget https://github.com/dragonflyoss/Dragonfly2/releases/download/v$version/Dragonfly2_$version_linux_amd64.tar.gz
+ ```
2. 解压压缩包
- ```bash
- # Replace `xxx` with the installation directory.
- tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
- ```
+ ```bash
+ # Replace `xxx` with the installation directory.
+ tar -zxf Dragonfly2_2.0.0_linux_amd64.tar.gz -C xxx
+ ```
3. 把 `scheduler` 移动到环境变量 `PATH` 下以确保您可以直接使用 `scheduler` 命令
@@ -38,21 +38,21 @@ Nginx|0.8+
1. 获取 Dragonfly 的源码
- ```sh
- git clone https://github.com/dragonflyoss/Dragonfly2.git
- ```
+ ```sh
+ git clone https://github.com/dragonflyoss/Dragonfly2.git
+ ```
2. 打开项目文件夹
- ```sh
- cd Dragonfly2
- ```
+ ```sh
+ cd Dragonfly2
+ ```
3. 编译源码
- ```sh
- make build-scheduler && make install-scheduler
- ```
+ ```sh
+ make build-scheduler && make install-scheduler
+ ```
### 启动 scheduler
diff --git a/docs/zh-CN/deployment/installation/kubernetes/README.md b/docs/zh-CN/deployment/installation/kubernetes/README.md
index 5e1d2d680..bab0a89f0 100644
--- a/docs/zh-CN/deployment/installation/kubernetes/README.md
+++ b/docs/zh-CN/deployment/installation/kubernetes/README.md
@@ -6,6 +6,6 @@ dfdaemon 会作为 `DaemonSets` 部署, manager 会作为 `Deployments` 部署
部署方式:
-* [Helm](helm.md)
-* [Kustomize](kustomize.md)
-* [TODO Upgrade Guide](upgrade-guide.md)
+- [Helm](helm.md)
+- [Kustomize](kustomize.md)
+- [TODO Upgrade Guide](upgrade-guide.md)
diff --git a/docs/zh-CN/deployment/installation/kubernetes/helm.md b/docs/zh-CN/deployment/installation/kubernetes/helm.md
index 616a6b345..4ff7a6f8a 100644
--- a/docs/zh-CN/deployment/installation/kubernetes/helm.md
+++ b/docs/zh-CN/deployment/installation/kubernetes/helm.md
@@ -11,10 +11,10 @@
> 因为当前 Kubernetes 里的 `daemonset` 并不支持 `Surging Rolling Update` 策略,
> 一旦旧的 dfdaemon pod 被删除后,新的 dfdaemon 就再也拉取不了了。
> 如果无法更换容器运行时的话,那在升级蜻蜓的时候,请从下面两种方案选择比较适合的:
-> 选项1:先手动拉取新的 dfdaemon 镜像,或者使用
-[ImagePullJob](https://openkruise.io/docs/user-manuals/imagepulljob)
-去自动拉取。
-> 选项2:保持蜻蜓的镜像中心和通用的镜像中心不一样,同时将蜻蜓镜像中心相关的 host 加入 `containerRuntime.docker.skipHosts`。
+> 选项 1:先手动拉取新的 dfdaemon 镜像,或者使用
+> [ImagePullJob](https://openkruise.io/docs/user-manuals/imagepulljob)
+> 去自动拉取。
+> 选项 2:保持蜻蜓的镜像中心和通用的镜像中心不一样,同时将蜻蜓镜像中心相关的 host 加入 `containerRuntime.docker.skipHosts`。
Dragonfly Helm 支持自动更改 docker 配置。
@@ -32,8 +32,8 @@ containerRuntime:
# When use certs and inject hosts in docker, no necessary to restart docker daemon.
injectHosts: true
registryDomains:
- - "harbor.example.com"
- - "harbor.example.net"
+ - 'harbor.example.com'
+ - 'harbor.example.net'
```
此配置允许 docker 通过 Dragonfly 拉取 `harbor.example.com` 和 `harbor.example.net` 域名镜像。
@@ -41,13 +41,13 @@ containerRuntime:
优点:
-* 支持 dfdaemon 自身平滑升级
+- 支持 dfdaemon 自身平滑升级
> 这种模式下,当删除 dfdaemon pod 的时候,`preStop` 钩子将会清理已经注入到 `/etc/hosts` 下的所有主机信息,所有流量将会走原来的镜像中心。
限制:
-* 只支持指定域名。
+- 只支持指定域名。
#### 情况 2: 支持任意仓库
@@ -72,8 +72,8 @@ containerRuntime:
限制:
-* 必须开启 docker 的 `live-restore` 功能
-* 需要重启 docker daemon
+- 必须开启 docker 的 `live-restore` 功能
+- 需要重启 docker daemon
### 2. Containerd
@@ -100,7 +100,7 @@ containerRuntime:
#### 情况 2: V2 版本不使用配置文件
-* 选项 1 - 允许 Charts 注入 `config_path` 并重新启动 containerd。
+- 选项 1 - 允许 Charts 注入 `config_path` 并重新启动 containerd。
此选项启用多个镜像仓库支持。
@@ -115,7 +115,7 @@ containerRuntime:
injectConfigPath: true
```
-* 选项 2 - 只使用一个镜像仓库 `dfdaemon.config.proxy.registryMirror.url`
+- 选项 2 - 只使用一个镜像仓库 `dfdaemon.config.proxy.registryMirror.url`
定制 values.yaml 文件:
@@ -153,9 +153,9 @@ containerRuntime:
enable: true
# Registries full urls
registries:
- - "https://ghcr.io"
- - "https://quay.io"
- - "https://harbor.example.com:8443"
+ - 'https://ghcr.io'
+ - 'https://quay.io'
+ - 'https://harbor.example.com:8443'
```
## 准备 Kubernetes 集群
@@ -230,7 +230,7 @@ manager:
externalManager:
enable: true
- host: "dragonfly-manager.dragonfly-system.svc.cluster.local"
+ host: 'dragonfly-manager.dragonfly-system.svc.cluster.local'
restPort: 8080
grpcPort: 65003
diff --git a/docs/zh-CN/design/README.md b/docs/zh-CN/design/README.md
index 094fdb0df..1f5c3b979 100644
--- a/docs/zh-CN/design/README.md
+++ b/docs/zh-CN/design/README.md
@@ -5,8 +5,8 @@ Dragonfly 的所有组件设计的架构,组件之间的交互工作流程,D
具体设计:
-* [architecture](architecture.md)
-* [manager](manager.md)
-* [TODO scheduler](scheduler.md)
-* [TODO cdn](cdn.md)
-* [TODO dfdaemon](dfdaemon.md)
+- [architecture](architecture.md)
+- [manager](manager.md)
+- [TODO scheduler](scheduler.md)
+- [TODO cdn](cdn.md)
+- [TODO dfdaemon](dfdaemon.md)
diff --git a/docs/zh-CN/design/architecture.md b/docs/zh-CN/design/architecture.md
index ee33e9790..a6dc221c7 100644
--- a/docs/zh-CN/design/architecture.md
+++ b/docs/zh-CN/design/architecture.md
@@ -16,12 +16,12 @@
## 核心能力
-- 通过统一的回源适配层及实现支持各种不同类型存储(HDFS、各云厂商的存储服务、Maven、YUM等等)的P2P文件分发能力
+- 通过统一的回源适配层及实现支持各种不同类型存储(HDFS、各云厂商的存储服务、Maven、YUM 等等)的 P2P 文件分发能力
- 支持更多的分发模式: 主动拉取、主动推送、实时同步、远程复制、自动预热、跨云传输等等
-- 系统之间分离解耦,调度与CDN插件化,且支持按需部署,可轻可重,可内可外,灵活满足不同场景的实际需要
+- 系统之间分离解耦,调度与 CDN 插件化,且支持按需部署,可轻可重,可内可外,灵活满足不同场景的实际需要
- 基于 grpc 全新设计的 P2P 协议框架,效率及稳定性更佳
- 支持加密传输、基于账号的传输鉴权与限流、多租户隔离机制
-- 支持更高效的IO方式: 多线程IO、内存映射、DMA等
+- 支持更高效的 IO 方式: 多线程 IO、内存映射、DMA 等
- 支持动态压缩、内存文件系统以及更高效的调度算法,提升分发效率
- 客户端通过 C/S 模式支持第三方软件原生集成蜻蜓的 P2P 能力
- 产品化能力: 支持文件上传、各种分发模式的任务管理、数据视图以及全局管控等功能
@@ -44,7 +44,7 @@
### 子模块架构
-#### CDN模块
+#### CDN 模块
![cdn][cdn]
diff --git a/docs/zh-CN/developer-guide/README.md b/docs/zh-CN/developer-guide/README.md
new file mode 100644
index 000000000..66b9b18a5
--- /dev/null
+++ b/docs/zh-CN/developer-guide/README.md
@@ -0,0 +1,8 @@
+# 开发者指南
+
+理解如何开发 Dragonfly 项目以及相关插件。
+
+内容:
+
+- [开发](development.md)
+- [插件](plugin.md)
diff --git a/docs/zh-CN/developer-guide/developer-guide.md b/docs/zh-CN/developer-guide/developer-guide.md
deleted file mode 100644
index d8e2dd485..000000000
--- a/docs/zh-CN/developer-guide/developer-guide.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# 开发
-
-快速搭建本地开发环境
-
-## 第一步:安装 docker 和 docker compose
-
-详见文档 [docs.docker.com]
-
-## 第二步:启动 dragonfly
-
-打开 dragonfly 文档、启动 docker-compose.
-
-```bash
-$ docker-compose up
-Creating network "dragonfly2_default" with the default driver
-Creating cdn ... done
-Creating scheduler ... done
-Creating dfdaemon ... done
-Attaching to cdn, scheduler, dfdaemon
-```
-
-## 第三步:日志分析
-
-查看 dragonfly 日志
-
-
-```bash
-$ tail -f log/**/*.log
-==> log/dragonfly/cdn/core.log <==
-{"level":"info","ts":"2021-02-26 05:43:36.896","caller":"cmd/root.go:90","msg":"success to init local ip of cdn, start to run cdn system, use ip: 172.21.0.2"}
-{"level":"info","ts":"2021-02-26 05:43:36.901","caller":"plugins/plugins.go:51","msg":"add plugin[storage][local]"}
-{"level":"info","ts":"2021-02-26 05:43:36.902","caller":"plugins/plugins.go:37","msg":"plugin[sourceclient][http] is disabled"}
-
-==> log/dragonfly/dfdaemon/core.log <==
-{"level":"info","ts":"2021-02-26 05:43:37.797","caller":"proxy/proxy_manager.go:63","msg":"registry mirror: https://index.docker.io"}
-{"level":"info","ts":"2021-02-26 05:43:37.798","caller":"proxy/proxy_manager.go:68","msg":"load 1 proxy rules"}
-{"level":"info","ts":"2021-02-26 05:43:37.799","caller":"proxy/proxy_manager.go:78","msg":"[1] proxy blobs/sha256.* with dragonfly "}
-{"level":"debug","ts":"2021-02-26 05:43:37.799","caller":"rpc/server_listen.go:31","msg":"start to listen port: 0.0.0.0:65000"}
-{"level":"debug","ts":"2021-02-26 05:43:37.800","caller":"rpc/server_listen.go:31","msg":"start to listen port: 0.0.0.0:65002"}
-{"level":"debug","ts":"2021-02-26 05:43:37.800","caller":"rpc/server_listen.go:31","msg":"start to listen port: 0.0.0.0:65001"}
-{"level":"info","ts":"2021-02-26 05:43:37.800","caller":"daemon/peerhost.go:274","msg":"serve download grpc at unix:///tmp/dfdamon.sock"}
-{"level":"info","ts":"2021-02-26 05:43:37.801","caller":"daemon/peerhost.go:285","msg":"serve peer grpc at tcp://[::]:65000"}
-{"level":"info","ts":"2021-02-26 05:43:37.801","caller":"daemon/peerhost.go:320","msg":"serve upload service at tcp://[::]:65002"}
-{"level":"info","ts":"2021-02-26 05:43:37.801","caller":"daemon/peerhost.go:306","msg":"serve proxy at tcp://0.0.0.0:65001"}
-
-==> log/dragonfly/scheduler/core.log <==
-{"level":"info","ts":"2021-02-26 05:43:37.332","caller":"cmd/root.go:57","msg":"start to run scheduler"}
-{"level":"info","ts":"2021-02-26 05:43:37.338","caller":"server/server.go:35","msg":"start server at port %!s(int=8002)"}
-{"level":"info","ts":"2021-02-26 05:43:37.342","caller":"worker/sender.go:49","msg":"start sender worker : 50"}
-{"level":"info","ts":"2021-02-26 05:43:37.343","caller":"worker/worker_group.go:64","msg":"start scheduler worker number:6"}
-```
-
-
-## 第四步:关闭 dragonfly
-
-```bash
-$ docker-compose down
-Removing dfdaemon ... done
-Removing scheduler ... done
-Removing cdn ... done
-Removing network dragonfly2_default
-```
-
-[docs.docker.com]: https://docs.docker.com
diff --git a/docs/zh-CN/developer-guide/development.md b/docs/zh-CN/developer-guide/development.md
new file mode 100644
index 000000000..1a9b2ed0e
--- /dev/null
+++ b/docs/zh-CN/developer-guide/development.md
@@ -0,0 +1,3 @@
+# 开发
+
+中文文档编写中,请先参考正在编写的[英文文档](https://github.com/dragonflyoss/Dragonfly2/blob/main/docs/en/developer-guide/development.md)
diff --git a/docs/zh-CN/preheat/README.md b/docs/zh-CN/preheat/README.md
index 3f05da650..162c714a5 100644
--- a/docs/zh-CN/preheat/README.md
+++ b/docs/zh-CN/preheat/README.md
@@ -4,5 +4,5 @@ P2P 加速可预热两种类型数据 `image` 和 `file`, 用户可以在控制
预热方式:
-* [Console](console.md)
-* [Api](api.md)
+- [Console](console.md)
+- [Api](api.md)
diff --git a/docs/zh-CN/quick-start.md b/docs/zh-CN/quick-start.md
index defc4bb8c..4723e1243 100644
--- a/docs/zh-CN/quick-start.md
+++ b/docs/zh-CN/quick-start.md
@@ -9,14 +9,16 @@
下表列出了一些容器的运行时、版本和文档。
-| Runtime | Version | Document | CRI Support | Pull Command |
-| --- | --- | --- | --- | --- |
-| Containerd* | v1.1.0+ | [Link](runtime-integration/containerd/mirror.md) | Yes | crictl pull docker.io/library/alpine:latest |
-| Containerd without CRI | < v1.1.0 | [Link](runtime-integration/containerd/proxy.md) | No | ctr image pull docker.io/library/alpine |
-| CRI-O | All | [Link](runtime-integration/cri-o.md) | Yes | crictl pull docker.io/library/alpine:latest |
+
+| Runtime | Version | Document | CRI Support | Pull Command |
+| ----------------------- | -------- | ------------------------------------------------ | ----------- | ------------------------------------------- |
+| Containerd\* | v1.1.0+ | [Link](runtime-integration/containerd/mirror.md) | Yes | crictl pull docker.io/library/alpine:latest |
+| Containerd without CRI | < v1.1.0 | [Link](runtime-integration/containerd/proxy.md) | No | ctr image pull docker.io/library/alpine |
+| CRI-O | All | [Link](runtime-integration/cri-o.md) | Yes | crictl pull docker.io/library/alpine:latest |
+
-**: 推荐使用`containerd`*
+推荐使用 `containerd`.
## Helm Chart 运行时配置
@@ -34,8 +36,8 @@ containerRuntime:
# When use certs and inject hosts in docker, no necessary to restart docker daemon.
injectHosts: true
registryDomains:
- - "harbor.example.com"
- - "harbor.example.net"
+ - 'harbor.example.com'
+ - 'harbor.example.net'
```
此配置允许 docker 通过 Dragonfly 拉取 `harbor.example.com` 和 `harbor.example.net` 域名镜像。
@@ -43,13 +45,13 @@ containerRuntime:
优点:
-* 支持 dfdaemon 自身平滑升级
+- 支持 dfdaemon 自身平滑升级
> 这种模式下,当删除 dfdaemon pod 的时候,`preStop` 钩子将会清理已经注入到 `/etc/hosts` 下的所有主机信息,所有流量将会走原来的镜像中心。
限制:
-* 只支持指定域名。
+- 只支持指定域名。
## 准备 Kubernetes 集群
diff --git a/docs/zh-CN/runtime-integration/README.md b/docs/zh-CN/runtime-integration/README.md
index 69aad590a..9d730a2fa 100644
--- a/docs/zh-CN/runtime-integration/README.md
+++ b/docs/zh-CN/runtime-integration/README.md
@@ -2,6 +2,6 @@
运行时:
-* [containerd](containerd/README.md)
-* [cri-o](cri-o.md)
-* [docker](docker.md)
+- [containerd](containerd/README.md)
+- [cri-o](cri-o.md)
+- [docker](docker.md)
diff --git a/docs/zh-CN/runtime-integration/containerd/README.md b/docs/zh-CN/runtime-integration/containerd/README.md
index 2f3bb5860..3bab28dda 100644
--- a/docs/zh-CN/runtime-integration/containerd/README.md
+++ b/docs/zh-CN/runtime-integration/containerd/README.md
@@ -4,5 +4,5 @@
集成方式:
-* [mirror](mirror.md)
-* [proxy](proxy.md)
+- [mirror](mirror.md)
+- [proxy](proxy.md)
diff --git a/docs/zh-CN/runtime-integration/containerd/mirror.md b/docs/zh-CN/runtime-integration/containerd/mirror.md
index f4c14e706..9159cbc07 100644
--- a/docs/zh-CN/runtime-integration/containerd/mirror.md
+++ b/docs/zh-CN/runtime-integration/containerd/mirror.md
@@ -82,7 +82,7 @@ version = 2
#### 2. 生成每个仓库的 hosts.toml
-##### 选项 1: 手动生成 hosts.toml
+##### 选项 1: 手动生成 hosts.toml
路径: `/etc/containerd/certs.d/example.com/hosts.toml`
diff --git a/docs/zh-CN/runtime-integration/containerd/proxy.md b/docs/zh-CN/runtime-integration/containerd/proxy.md
index efedc257d..5d84b5145 100644
--- a/docs/zh-CN/runtime-integration/containerd/proxy.md
+++ b/docs/zh-CN/runtime-integration/containerd/proxy.md
@@ -139,7 +139,7 @@ proxy:
key: ca.key
hosts:
- regx: your.private.registry
- certs: ["server.crt"]
+ certs: ['server.crt']
```
您能使用以下命令获取您服务器的证书:
diff --git a/docs/zh-CN/runtime-integration/docker.md b/docs/zh-CN/runtime-integration/docker.md
index bb4f9b5e5..b2acf5a64 100644
--- a/docs/zh-CN/runtime-integration/docker.md
+++ b/docs/zh-CN/runtime-integration/docker.md
@@ -146,7 +146,7 @@ proxy:
key: ca.key
hosts:
- regx: your.private.registry
- certs: ["server.crt"]
+ certs: ['server.crt']
```
您能使用以下命令获取您服务器的证书:
diff --git a/docs/zh-CN/troubleshooting/README.md b/docs/zh-CN/troubleshooting/README.md
index bc75f36ab..efbc7dfb1 100644
--- a/docs/zh-CN/troubleshooting/README.md
+++ b/docs/zh-CN/troubleshooting/README.md
@@ -26,16 +26,16 @@ change log level to info
1. 确认限速值是否合适 [dfget.yaml](https://github.com/dragonflyoss/Dragonfly2/blob/main/docs/zh-CN/config/dfget.yaml#L61)
- ```yaml
- download:
- # 总下载限速
- totalRateLimit: 200Mi
- # 单个任务下载限速
- perPeerRateLimit: 100Mi # 为了兼容极限环境下,默认值为 20Mi,可以按需调整
- upload:
- # 上传限速
- rateLimit: 100Mi
- ```
+ ```yaml
+ download:
+ # 总下载限速
+ totalRateLimit: 200Mi
+ # 单个任务下载限速
+ perPeerRateLimit: 100Mi # 为了兼容极限环境下,默认值为 20Mi,可以按需调整
+ upload:
+ # 上传限速
+ rateLimit: 100Mi
+ ```
2. 确认回源速度是否正常
@@ -45,10 +45,10 @@ change log level to info
2. 检查源站可连接行(DNS 错误 or 证书)
- 示例:
+ 示例:
- ```shell
- curl https://example.harbor.local/
- ```
+ ```shell
+ curl https://example.harbor.local/
+ ```
- 如果`curl`有报错,请查看具体错误
+ 如果`curl`有报错,请查看具体错误
diff --git a/docs/zh-CN/user-guide/README.md b/docs/zh-CN/user-guide/README.md
new file mode 100644
index 000000000..3a4204656
--- /dev/null
+++ b/docs/zh-CN/user-guide/README.md
@@ -0,0 +1,7 @@
+# User Guide
+
+让用户快速了解 Dragonfly 如何进行 P2P 下载以及其他使用相关内容。
+
+内容:
+
+- [Prometheus 数据指标](metrics.md)
diff --git a/docs/zh-CN/user-guide/metrics.md b/docs/zh-CN/user-guide/metrics.md
new file mode 100644
index 000000000..9a9a6414c
--- /dev/null
+++ b/docs/zh-CN/user-guide/metrics.md
@@ -0,0 +1,67 @@
+# Prometheus 数据指标
+
+文档包含 Dragonfly 组件当前支持的所有指标。
+现在支持 Dfdaemon、Manager、Scheduler 和 CDN 服务的指标。
+获取数据指标的路径固定为 /metrics。
+
+## Dfdaemon
+
+GRPC 数据指标基于 [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| 名字 | 标签 | 类型 | 描述 |
+| :------------------------------------------------------- | :----- | :------ | :---------------------------------- |
+| dragonfly_dfdaemon_proxy_request_total | method | counter | 代理请求总次数。 |
+| dragonfly_dfdaemon_proxy_request_via_dragonfly_total | | counter | 代理通过 drgonfly 的请求次数。 |
+| dragonfly_dfdaemon_proxy_request_not_via_dragonfly_total | | counter | 代理没有通过 dragonfly 的请求次数。 |
+| dragonfly_dfdaemon_proxy_request_running_total | method | counter | 当前代理请求总次数。 |
+| dragonfly_dfdaemon_proxy_request_bytes_total | method | counter | 所有代理请求的总字节数。 |
+| dragonfly_dfdaemon_peer_task_total | | counter | 任务的总个数。 |
+| dragonfly_dfdaemon_peer_task_failed_total | | counter | 失败任务的总个数。 |
+| dragonfly_dfdaemon_piece_task_total | | counter | 分片的总个数。 |
+| dragonfly_dfdaemon_piece_task_failed_total | | counter | 失败的分片总个数。 |
+| dragonfly_dfdaemon_file_task_total | | counter | 文件类型任务总个数。 |
+| dragonfly_dfdaemon_stream_task_total | | counter | 流式类型任务总个数。 |
+| dragonfly_dfdaemon_peer_task_cache_hit_total | | counter | 命中缓存任务个数。 |
+
+
+
+## Manager
+
+GRPC 数据指标基于 [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+## Scheduler
+
+GRPC 数据指标基于 [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| 名字 | 标签 | 类型 | 描述 |
+| :----------------------------------------------------------- | :----------------------------------------- | :-------- | :-------------------- |
+| dragonfly_scheduler_register_peer_task_total | | counter | 注册任务总次数。 |
+| dragonfly_scheduler_register_peer_task_failure_total | | counter | 注册任务失败次数。 |
+| dragonfly_scheduler_download_total | | counter | 下载任务总次数。 |
+| dragonfly_scheduler_download_failure_total | | counter | 下载任务失败次数。 |
+| dragonfly_scheduler_p2p_traffic | | counter | P2P 流量。 |
+| dragonfly_scheduler_peer_host_traffic | traffic_type, peer_host_uuid, peer_host_ip | counter | 每个主机的 P2P 流量。 |
+| dragonfly_scheduler_peer_task_total | type | counter | 下载任务总个数。 |
+| dragonfly_scheduler_peer_task_download_duration_milliseconds | | histogram | 任务下载耗时。 |
+| dragonfly_scheduler_concurrent_schedule_total | | gauge | 并行调度任务个数。 |
+
+
+
+## CDN
+
+GRPC 数据指标基于 [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus).
+
+
+
+| 名字 | 标签 | 类型 | 描述 |
+| :-------------------------------------- | :--- | :------ | :----------------- |
+| dragonfly_cdn_download_total | | counter | 下载任务总次数。 |
+| dragonfly_cdn_download_failure_total | | counter | 下载任务失败次数。 |
+| dragonfly_cdn_download_traffic | | counter | 经过 CDN 流量。 |
+| dragonfly_cdn_concurrent_download_total | | gauge | 并行下载任务个数。 |
+
+