Skip to content

Commit

Permalink
docs(en): upgrade docs (#673)
Browse files Browse the repository at this point in the history
Signed-off-by: cndoit18 <[email protected]>
  • Loading branch information
cndoit18 authored and gaius-qi committed Jun 28, 2023
1 parent 46d4926 commit c849e87
Show file tree
Hide file tree
Showing 46 changed files with 775 additions and 639 deletions.
7 changes: 0 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@ Dragonfly is now hosted by the Cloud Native Computing Foundation (CNCF) as an In

**Dfget:** The client of Dragonfly used for downloading files. It's similar to wget.

## Getting Started

- [Quick Start][quickstart]
- [Installation][installation]

## Documentation

You can find the full documentation [on the repo][document].
Expand All @@ -84,8 +79,6 @@ Please refer to our [Code of Conduct][codeconduct].

[arch]: docs/en/images/arch.png
[logo-linear]: docs/en/images/logo/dragonfly-linear.svg
[quickstart]: docs/en/user-guide/quick-start.md
[installation]: docs/en/user-guide/install/README.md
[website]: https://d7y.io
[discussion]: https://github.com/dragonflyoss/Dragonfly2/discussions
[contributing]: CONTRIBUTING.md
Expand Down
106 changes: 26 additions & 80 deletions docs/en/README.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,31 @@
# Dragonfly Document

Dragonfly Document is written, drawn, memorialized representation of all things about Dragonfly. For those who are generally interested in Dragonfly, README.md of this repo is sufficient. While for end users, all details contained in `/docs` is the best guide all should have. And for developers, contents in [Developer Guide](#Developer Guide) part is that all need.
Dragonfly Document is written, drawn, memorialized representation of all things about Dragonfly. For those who are generally interested in Dragonfly, README.md of this repo is sufficient. While for end users, all details contained in `/docs` is the best guide all should have. And for developers, contents in [Developer Guide](developer-guide/developer-guide.md) part is that all need.

Organization of document is as following:

* [Quick Start](#Quick-Start)
* [User Guide](#User-Guide)
* [CLI Reference](#CLI-Reference)
* [dfget](cli-reference/dfget.md)
* [cdn](cli-reference/cdn.md)
* [scheduler](cli-reference/scheduler.md)
* [manager](cli-reference/manager.md)
* [API Reference](#API-Reference)
* [Ecosystem](#Ecosystem)
* [Kubernetes Integration](ecosystem/Kubernetes-with-Dragonfly.md)
* [WIP Harbor Integration](ecosystem/Harbor-with-Dragonfly.md)
* [Developer Guide](#Developer-Guide)
* [Design Doc](#Design-Doc)
* [Test Guide](#Test-Guide)

## How to Contribute Document

Find `WIP` or `TODO` in this page and follow [CONTRIBUTING](../../CONTRIBUTING.md).

## Quick Start

[Quick Started](user-guide/quick-start.md) is exactly what you need if you would give Dragonfly a try. This document includes what are the
prerequisites,
how to install Dragonfly and how to experience Dragonfly's usage.

## User Guide

[User Guide](user-guide) helps all kinds of guidance end users need to experience Dragonfly. Not only the very brief [Quick Start]
(user-guide/quick-start.md), but the detailed binary installation and configure illustration. In addition, any concept and function which help users
understand Dragonfly better would be included as well.

## CLI Reference

For almost all users, commandline is the first reference you may need. Document in directory [CLI Reference](cli-reference) is about command detailed usage of Dragonfly CLI including `dfget`, `cdn`, `scheduler` and `manager`. You can get introductions, synopsis, examples, options about command. Last but not least, Dragonfly can guarantee commandline docs is strongly consistent with Dragonfly CLI's source code. What's more, all commandline docs are auto generated via source code.

## API Reference

Commandline is the easiest way to experience Dragonfly's ability. API extension will bring more further experience of Dragonfly. Commandline is just one
kind of combination usage of API, if you wish to hack or take more advantages of Dragonfly, please see [API Reference](/api/README.md). Like command line
document, all API docs are auto generated via source code.

## Ecosystem

Ecosystem documents show connections between Dragonfly and popular tool or system in cloud native ecosystem. They guide end users how to experience cloud
native systems with Dragonfly, such as other CNCF project [Kubernetes](ecosystem/Kubernetes-with-Dragonfly.md) and [Harbor](ecosystem/Harbor-with-Dragonfly.md).

## Developer Guide

[Develop Guide](development/local.md) helps (potential) developers/contributors to understand the theory inside Dragonfly rather than the interface it exposes. With
better understanding of how Dragonfly is designed, developer could learn source code of Dragonfly much easier and know how to debug, test and hack.

### Design Doc

[Design Doc](./design/architecture.md) is content all about design of Dragonfly. It includes all things taken into consideration at the very beginning, the
architecture designed for all components in Dragonfly, the interactive workflow between components, all APIs in Dragonfly and some technical things else.

### Test Guide

[Test Guide](./test-guide/test-guide.md) is the best reference helping contributors get aware of how to setup testing environment and do it. Currently we can divide test of Dragonfly into four dimensions:

* unit test;
* API integration test;
* CLI integration test;
* node e2e test.

For more details, please refer to [test](./test-guide/test-guide.md).

## Conclusion

The folder `/docs` does not contain all the document about Dragonfly. There are still other really helpful documents in other path of this repo, like:

* [TODO FAQ.md](./FAQ.md)
* [CHANGELOG.md](../../CHANGELOG.md)
* [TODO ROADMAP.md](./ROADMAP.md)
* others.

If you are searching some document and find no one, please do not hesitate to [file an ISSUE](https://github.com/dragonflyoss/Dragonfly2/issues/new/choose) for help. In addition, if you found that there are some incorrect places or typos in document, please help submit a pull request to correct that.


* [Quick Start](quick-start.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](desigin/dfdaemon.md)
* [Deployment](deployment/README.md)
* [Installation](deployment/installation)
* [Configuration](deployment/configuration)
* [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)
* [Runtime Integration](runtime-integration/README.md)
* [containerd](runtime-integration/containerd.md)
* [cri-o](runtime-integration/cri-o.md)
* [docker](runtime-integration/docker.md)
* [Preheat](preheat/README.md)
* [Console](preheat/console.md)
* [Api](preheat/api.md)
* [Developer Guide](developer-guide/developer-guide.md)
* [Test Guide](test-guide/test-guide.md)
* [API Reference](api-reference/api-reference.md)
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Dragonfly Manager
# API Reference

Commandline is the easiest way to experience Dragonfly's ability. API extension will bring more further experience of Dragonfly. Commandline is just one kind of combination usage of API, if you wish to hack or take more advantages of Dragonfly, please see `API Reference`. Like command line document, all API docs are auto generated via source code.

## Dragonfly Manager


<a name="overview"></a>
Expand Down
10 changes: 10 additions & 0 deletions docs/en/cli-reference/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# CLI Reference

For almost all users, commandline is the first reference you may need. Document in directory `CLI Reference` is about command detailed usage of Dragonfly CLI including `dfget`, `cdn`, `scheduler` and `manager`. You can get introductions, synopsis, examples, options about command. Last but not least, Dragonfly can guarantee commandline docs is strongly consistent with Dragonfly CLI's source code. What's more, all commandline docs are auto generated via source code.

Table of contents:

* [dfget](dfget.md)
* [cdn](cdn.md)
* [scheduler](scheduler.md)
* [manager](manager.md)
14 changes: 14 additions & 0 deletions docs/en/deployment/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Deployment

Table of contents:

* [installation](installation/README.md)
* [configuration](configuration)

## Installation

Installation documents provide you with several options available to deploy the Dragonfly, such as [Kubernetes](installation/kubernetes/README.md) and [Docker](installation/docker/README.md).

## Configuration

[Configuration](configuration) is content all about customizing the Dragonfly. It includes information about the configuration of all components and their corresponding explanations.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
7 changes: 7 additions & 0 deletions docs/en/deployment/installation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Installation

Table of contents:

* [docker](docker/README.md)
* [executable-files](executable-files/README.md)
* [kubernetes](kubernetes/README.md)
8 changes: 8 additions & 0 deletions docs/en/deployment/installation/docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Installation

There are two installation methods, it is recommended to use docker-compose to install as a whole, or install separately according to modules.

Table of contents:

* [Docker Compose](docker-compose.md)
* [Standalone](standalone/README.md)
1 change: 1 addition & 0 deletions docs/en/deployment/installation/docker/docker-compose.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# WIP Docker-Compose Support
20 changes: 20 additions & 0 deletions docs/en/deployment/installation/docker/standalone/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Installation

There are two installation methods, it is recommended to use helm charts to install as a whole, or install separately according to modules

## Install with Helm Charts

> ArtifactHub Link: https://artifacthub.io/packages/helm/dragonfly/dragonfly
It is recommended to use helm charts for installation, which is a simple and quick installation. [Kubernetes-with-Dragonfly](../../kubernetes/README.md) is the installation instructions of dragonfly.

## Install separately

* [install-client](./dfdaemon.md) is the installation instructions of dfdaemon

* [install-manager](./manager.md) is the installation instructions of manager

* [install-scheduler](./scheduler.md) is the installation instructions of scheduler

* [install-cdn](./cdn.md) is the installation instructions of CDN

67 changes: 67 additions & 0 deletions docs/en/deployment/installation/docker/standalone/cdn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Installing Dragonfly CDN Server

This topic explains how to install the Dragonfly CDN server.

## Prerequisites

When deploying with Docker, the following conditions must be met.

Required Software | Version Limit
---|---
Git|1.9.1+
Docker|1.12.0+

## Procedure - When Deploying with Docker

### Get cdn image

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
```

Or you can build your own cdn image.

1. Obtain the source code of Dragonfly.

```sh
git clone https://github.com/dragonflyoss/Dragonfly2.git
```

2. Enter the project directory.

```sh
cd Dragonfly2
```

3. Build the Docker image.

```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
```

### Start cdn

**NOTE:** Replace ${cdnDockerImageId} with the ID obtained at the previous step.

```sh
docker run -d --name cdn --restart=always -p 8001:8001 -p 8003:8003 -v /home/admin/ftp:/home/admin/ftp ${cdnDockerImageId}
--download-port=8001
```

After cdn is installed, run the following commands to verify if Nginx and **cdn** are started, and if Port `8001` and `8003` are available.

```sh
telnet 127.0.0.1 8001
telnet 127.0.0.1 8003
```
67 changes: 67 additions & 0 deletions docs/en/deployment/installation/docker/standalone/dfdaemon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Installing Dragonfly Dfdaemon Server

This topic explains how to install the Dragonfly dfdaemon server.

## Prerequisites

When deploying with Docker, the following conditions must be met.

Required Software | Version Limit
---|---
Git|1.9.1+
Docker|1.12.0+

## Procedure - When Deploying with Docker

### Get dfdaemon image

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
```

Or you can build your own dfdaemon image.

1. Obtain the source code of Dragonfly.

```sh
git clone https://github.com/dragonflyoss/Dragonfly2.git
```

2. Enter the project directory.

```sh
cd Dragonfly2
```

3. Build the Docker image.

```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
```

### Start dfdaemon

**NOTE:** Replace ${dfdaemonDockerImageId} with the ID obtained at the previous step.

```sh
docker run -d --name dfdaemon --restart=always -p 65000:65000 -p 65001:65001 -p 65002:65002 ${dfdaemonDockerImageId} daemon
```

After dfget is installed, run the following commands to verify if **dfdaemon** is started, and if Port `65000`, `65001` and `65002` is available.

```sh
telnet 127.0.0.1 65000
telnet 127.0.0.1 65001
telnet 127.0.0.1 65002
```
Loading

0 comments on commit c849e87

Please sign in to comment.