docs: add slack and google groups (#1203)

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2022-03-28 20:22:50 +08:00
parent e33736121f
commit 480f7fc35e
No known key found for this signature in database
GPG Key ID: 8B4E5D1290FA2FFB
5 changed files with 156 additions and 147 deletions

View File

@ -16,20 +16,20 @@ or sexual identity and orientation.
Examples of behavior that contributes to creating a positive environment include: Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language - Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences - Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism - Gracefully accepting constructive criticism
* Focusing on what is best for the community - Focusing on what is best for the community
* Showing empathy towards other community members - Showing empathy towards other community members
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances - The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks - Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment - Public or private harassment
* Publishing others' private information, - Publishing others' private information,
such as a physical or electronic address, without explicit permission such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in - Other conduct which could reasonably be considered inappropriate in
a professional setting a professional setting
## Our Responsibilities ## Our Responsibilities
@ -57,7 +57,7 @@ Representation of a project may be further defined and clarified by project main
Instances of abusive, harassing, or otherwise unacceptable Instances of abusive, harassing, or otherwise unacceptable
behavior may be reported by contacting the project team at behavior may be reported by contacting the project team at
<Dragonfly2@noreply.github.com>. The project team will review <dragonfly-maintainers@googlegroups.com>. The project team will review
and investigate all complaints, and will respond in a way and investigate all complaints, and will respond in a way
that it deems appropriate to the circumstances. The project team is that it deems appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. obligated to maintain confidentiality with regard to the reporter of an incident.

View File

@ -6,11 +6,11 @@ And here is a list of contributing guide for you.
## Topics ## Topics
* [Reporting security issues](#reporting-security-issues) - [Reporting security issues](#reporting-security-issues)
* [Reporting general issues](#reporting-general-issues) - [Reporting general issues](#reporting-general-issues)
* [Code and doc contribution](#code-and-doc-contribution) - [Code and doc contribution](#code-and-doc-contribution)
* [Engage to help anything](#engage-to-help-anything) - [Engage to help anything](#engage-to-help-anything)
* [Join Dragonfly as a member](#join-dragonfly-as-a-member) - [Join Dragonfly as a member](#join-dragonfly-as-a-member)
## Reporting security issues ## Reporting security issues
@ -19,7 +19,7 @@ As our usual principle, we discourage anyone to spread security issues.
If you find a security issue of Dragonfly, please do not discuss it in If you find a security issue of Dragonfly, please do not discuss it in
public and even do not open a public issue. public and even do not open a public issue.
Instead, we encourage you to send us a private email to Instead, we encourage you to send us a private email to
[Dragonfly@noreply.github.com](mailto:Dragonfly@noreply.github.com) to report this. [dragonfly-developers@googlegroups.com](mailto:dragonfly-developers@googlegroups.com) to report this.
## Reporting general issues ## Reporting general issues
@ -43,16 +43,16 @@ the instructions to fill fields in template.
There are a lot of cases when you could open an issue: There are a lot of cases when you could open an issue:
* bug report - bug report
* feature request - feature request
* performance issues - performance issues
* feature proposal - feature proposal
* feature design - feature design
* help wanted - help wanted
* doc incomplete - doc incomplete
* test improvement - test improvement
* any questions on project - any questions on project
* and so on - and so on
Also, we must remind that when filing a new issue, Also, we must remind that when filing a new issue,
please remember to remove the sensitive data from your post. please remember to remove the sensitive data from your post.
@ -65,16 +65,16 @@ Every action to make project Dragonfly better is encouraged.
On GitHub, every improvement for Dragonfly could be On GitHub, every improvement for Dragonfly could be
via a PR (short for pull request). via a PR (short for pull request).
* If you find a typo, try to fix it! - If you find a typo, try to fix it!
* If you find a bug, try to fix it! - If you find a bug, try to fix it!
* If you find some redundant codes, try to remove them! - If you find some redundant codes, try to remove them!
* If you find some test cases missing, try to add them! - If you find some test cases missing, try to add them!
* If you could enhance a feature, please **DO NOT** hesitate! - If you could enhance a feature, please **DO NOT** hesitate!
* If you find code implicit, try to add comments to make it clear! - If you find code implicit, try to add comments to make it clear!
* If you find code ugly, try to refactor that! - If you find code ugly, try to refactor that!
* If you can help to improve documents, it could not be better! - If you can help to improve documents, it could not be better!
* If you find document incorrect, just do it and fix that! - If you find document incorrect, just do it and fix that!
* ... - ...
Actually, it is impossible to list them completely. Actually, it is impossible to list them completely.
Just remember one principle: Just remember one principle:
@ -84,12 +84,12 @@ Just remember one principle:
Since you are ready to improve Dragonfly with a PR, Since you are ready to improve Dragonfly with a PR,
we suggest you could take a look at the PR rules here. we suggest you could take a look at the PR rules here.
* [Workspace Preparation](#workspace-preparation) - [Workspace Preparation](#workspace-preparation)
* [Branch Definition](#branch-definition) - [Branch Definition](#branch-definition)
* [Commit Rules](#commit-rules) - [Commit Rules](#commit-rules)
* [PR Description](#pr-description) - [PR Description](#pr-description)
* [Developing Environment](#developing-environment) - [Developing Environment](#developing-environment)
* [Golang Dependency Management](#golang-dependency-management) - [Golang Dependency Management](#golang-dependency-management)
### Workspace Preparation ### Workspace Preparation
@ -98,57 +98,59 @@ a GitHub ID. Then you could finish
the preparation in the following steps: the preparation in the following steps:
1. **FORK** Dragonfly to your repository. 1. **FORK** Dragonfly to your repository.
To make this work, you just need to click the button Fork
in right-left of [dragonflyoss/Dragonfly2](https://github.com/dragonflyoss/Dragonfly2)
main page. Then you will end up with your repository in
`https://github.com/<your-username>/Dragonfly`,
in which `your-username` is your GitHub username.
2. **CLONE** your own repository to develop locally. To make this work, you just need to click the button Fork
Use `git clone https://github.com/<your-username>/Dragonfly2.git` in right-left of [dragonflyoss/Dragonfly2](https://github.com/dragonflyoss/Dragonfly2)
to clone repository to your local machine. main page. Then you will end up with your repository in
Then you can create new branches to finish the change you wish to make. `https://github.com/<your-username>/Dragonfly`,
in which `your-username` is your GitHub username.
3. **Set Remote** upstream to be 1. **CLONE** your own repository to develop locally.
`https://github.com/dragonflyoss/Dragonfly2.git`
using the following two commands: Use `git clone https://github.com/<your-username>/Dragonfly2.git`
to clone repository to your local machine.
Then you can create new branches to finish the change you wish to make.
```bash 1. **Set Remote** upstream to be
git remote add upstream https://github.com/dragonflyoss/Dragonfly2.git `https://github.com/dragonflyoss/Dragonfly2.git`
git remote set-url --push upstream no-pushing
```
With this remote setting, you can check your git remote configuration like this: using the following two commands:
```bash ```bash
$ git remote -v git remote add upstream https://github.com/dragonflyoss/Dragonfly2.git
origin https://github.com/<your-username>/Dragonfly2.git (fetch) git remote set-url --push upstream no-pushing
origin https://github.com/<your-username>/Dragonfly2.git (push) ```
upstream https://github.com/dragonflyoss/Dragonfly2.git (fetch)
upstream no-pushing (push)
```
Adding this, we can easily synchronize local branches with upstream branches. With this remote setting, you can check your git remote configuration like this:
4. **Create a branch** to add a new feature or fix issues ```bash
$ git remote -v
origin https://github.com/<your-username>/Dragonfly2.git (fetch)
origin https://github.com/<your-username>/Dragonfly2.git (push)
upstream https://github.com/dragonflyoss/Dragonfly2.git (fetch)
upstream no-pushing (push)
```
Update local working directory: Adding this, we can easily synchronize local branches with upstream branches.
```bash 1. **Create a branch** to add a new feature or fix issues
cd Dragonfly2
git fetch upstream
git checkout main
git rebase upstream/main
```
Create a new branch: Update local working directory:
```bash ```bash
git checkout -b <new-branch> cd Dragonfly2
``` git fetch upstream
git checkout main
git rebase upstream/main
```
Make any change on the `new-branch` then build and test your codes. Create a new branch:
```bash
git checkout -b <new-branch>
```
Make any change on the `new-branch` then build and test your codes.
### Branch Definition ### Branch Definition
@ -179,8 +181,8 @@ MAJOR.MINOR.PATCH of [SemVer](http://semver.org/).
Actually in Dragonfly, we take two rules seriously when committing: Actually in Dragonfly, we take two rules seriously when committing:
* [Commit Message](#commit-message) - [Commit Message](#commit-message)
* [Commit Content](#commit-content) - [Commit Content](#commit-content)
#### Commit Message #### Commit Message
@ -191,21 +193,21 @@ We encourage contributors to use **EXPLICIT** commit
message rather than an ambiguous message. In general, message rather than an ambiguous message. In general,
we advocate the following commit message type: we advocate the following commit message type:
* feat: xxxx.For example, "feat: make result show in sorted order". - feat: xxxx.For example, "feat: make result show in sorted order".
* fix: xxxx. For example, "fix: fix panic when input nil parameter". - fix: xxxx. For example, "fix: fix panic when input nil parameter".
* docs: xxxx. For example, "docs: add docs about storage installation". - docs: xxxx. For example, "docs: add docs about storage installation".
* style: xxxx. For example, "style: format the code style of Constants.java". - style: xxxx. For example, "style: format the code style of Constants.java".
* refactor: xxxx. For example, "refactor: simplify to make codes more readable". - refactor: xxxx. For example, "refactor: simplify to make codes more readable".
* test: xxx. For example, "test: add unit test case for func InsertIntoArray". - test: xxx. For example, "test: add unit test case for func InsertIntoArray".
* chore: xxx. For example, "chore: integrate travis-ci". - chore: xxx. For example, "chore: integrate travis-ci".
It's the type of maintenance change. It's the type of maintenance change.
On the other side, we discourage contributors On the other side, we discourage contributors
from committing messages in the following ways: from committing messages in the following ways:
* ~~fix bug~~ - ~~fix bug~~
* ~~update~~ - ~~update~~
* ~~add doc~~ - ~~add doc~~
#### Commit Content #### Commit Content
@ -216,8 +218,8 @@ review without any other commits' help. In another word,
contents in one single commit can pass the CI to avoid code mess. contents in one single commit can pass the CI to avoid code mess.
In brief, there are two minor rules for us to keep in mind: In brief, there are two minor rules for us to keep in mind:
* avoid very large change in a commit. - avoid very large change in a commit.
* complete and reviewable for each commit. - complete and reviewable for each commit.
No matter what the commit message, or commit content is, No matter what the commit message, or commit content is,
we do take more emphasis on code review. we do take more emphasis on code review.
@ -237,10 +239,10 @@ Dragonfly project, we should reach an agreement on
the version of tools used in the development environment. the version of tools used in the development environment.
Here are some dependents with specific version: Here are some dependents with specific version:
* golang: v1.15 - golang: v1.15
* misspell: latest - misspell: latest
* shellCheck: latest - shellCheck: latest
* docker: latest - docker: latest
When you develop the Dragonfly project in the local environment, When you develop the Dragonfly project in the local environment,
you should use subcommands of Makefile to help yourself you should use subcommands of Makefile to help yourself
@ -287,13 +289,13 @@ collaborate. So the latest updates of Dragonfly are always here.
Although contributions via PR is an explicit way to help, Although contributions via PR is an explicit way to help,
we still call for any other ways. we still call for any other ways.
* Reply to others' issues if you could. - Reply to others' issues if you could.
* Help solve other users' problems. - Help solve other users' problems.
* Help review others' PR design. - Help review others' PR design.
* Help review others' codes in PR. - Help review others' codes in PR.
* Discuss about Dragonfly to make things clearer. - Discuss about Dragonfly to make things clearer.
* Advocate Dragonfly technology beyond GitHub. - Advocate Dragonfly technology beyond GitHub.
* Write blogs on Dragonfly and so on. - Write blogs on Dragonfly and so on.
In a word, **ANY HELP IS CONTRIBUTION.** In a word, **ANY HELP IS CONTRIBUTION.**
@ -304,19 +306,19 @@ willing to participate in Dragonfly community continuously and be active.
### Requirements ### Requirements
* Have read the [Contributing to Dragonfly](CONTRIBUTING.md) carefully. - Have read the [Contributing to Dragonfly](CONTRIBUTING.md) carefully.
* Have read the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). - Have read the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md).
* Ability to maintain one or more modules of `scheduler`, `cdn`, `client` and `manager`. - Ability to maintain one or more modules of `scheduler`, `cdn`, `client` and `manager`.
* Have submitted multi PRs to the community. - Have submitted multi PRs to the community.
* Be active in the community, may including but not limited: - Be active in the community, may including but not limited:
* Submitting or commenting on issues. - Submitting or commenting on issues.
* Contributing PRs to the community. - Contributing PRs to the community.
* Reviewing PRs in the community. - Reviewing PRs in the community.
### How to do it ### How to do it
You can do it in either of two ways: You can do it in either of two ways:
* Submit a PR in the - Submit a PR in the
[dragonflyoss/Dragonfly2](https://github.com/dragonflyoss/Dragonfly2) repo. [dragonflyoss/Dragonfly2](https://github.com/dragonflyoss/Dragonfly2) repo.
* Contact with the community's [maintainers](MAINTAINERS.md) offline. - Contact with the community's [maintainers](MAINTAINERS.md) offline.

View File

@ -1,12 +1,16 @@
# Maintainers # Maintainers
| GitHub ID | Name | Email| Company | <!-- markdownlint-disable -->
|:---:| :----:| :---:|:--:|
|[allencloud](https://github.com/allencloud)|Allen Sun|allensun.shl@alibaba-inc.com| Alibaba Group| | GitHub ID | Name | Email | Company |
|[garfield009](https://github.com/garfield009)|Zuozheng Hu|zuozheng.hzz@alibaba-inc.com| Alibaba Group | | :-------------------------------------------: | :---------: | :--------------------------: | :---------------------------: |
|[244372610](https://github.com/244372610)|sunwp|weipeng.swp@alibaba-inc.com| Alibaba Group | | [allencloud](https://github.com/allencloud) | Allen Sun | allensun.shl@alibaba-inc.com | Alibaba Group |
|[lucy-cl](https://github.com/lucy-cl)|lucy-cl|lucy.cl@alibaba-inc.com| Alibaba Group | | [garfield009](https://github.com/garfield009) | Zuozheng Hu | zuozheng.hzz@alibaba-inc.com | Alibaba Group |
|[jim3ma](https://github.com/jim3ma)|Jim Ma|majinjing3@gmail.com| Ant Group | | [244372610](https://github.com/244372610) | sunwp | weipeng.swp@alibaba-inc.com | Alibaba Group |
|[gaius-qi](https://github.com/gaius-qi)|Gaius Qi|gaius.qi@gmail.com| Ant Group | | [lucy-cl](https://github.com/lucy-cl) | lucy-cl | lucy.cl@alibaba-inc.com | Alibaba Group |
|[zzy987](https://github.com/zzy987)|zzy987|nevermind@sjtu.edu.cn| Shanghai Jiao Tong University | | [jim3ma](https://github.com/jim3ma) | Jim Ma | majinjing3@gmail.com | Ant Group |
|[yxxhero](https://github.com/yxxhero)|yxxhero|aiopsclub@163.com| Qunar | | [gaius-qi](https://github.com/gaius-qi) | Gaius Qi | gaius.qi@gmail.com | Ant Group |
| [zzy987](https://github.com/zzy987) | zzy987 | nevermind@sjtu.edu.cn | Shanghai Jiao Tong University |
| [yxxhero](https://github.com/yxxhero) | yxxhero | aiopsclub@163.com | Qunar |
<!-- markdownlint-restore -->

View File

@ -39,32 +39,32 @@ log distribution, image distribution, and so on.
## Features ## Features
- Implement P2P files distribution with various storage types - Implement P2P files distribution with various storage types
(HDFS, storage services from various cloud vendors, Maven, Yum, etc.) (HDFS, storage services from various cloud vendors, Maven, Yum, etc.)
through a unified back-to-source adapter layer. through a unified back-to-source adapter layer.
- Support more distribution modes: - Support more distribution modes:
active pull, active push, real-time synchronization, active pull, active push, real-time synchronization,
remote replication, automatic warm-up, remote replication, automatic warm-up,
cross-cloud transmission, etc. cross-cloud transmission, etc.
- Provide separation and decoupling between systems, - Provide separation and decoupling between systems,
scheduling and plug-in CDN. Support on-demand deployment with scheduling and plug-in CDN. Support on-demand deployment with
flexible types: light or heavy, inside or outside, flexible types: light or heavy, inside or outside,
to meet the actual needs of different scenarios. to meet the actual needs of different scenarios.
- Newly designed P2P protocol framework based on - Newly designed P2P protocol framework based on
GRPC with improved efficiency and stability. GRPC with improved efficiency and stability.
- Perform encrypted transmission, account-based transmission - Perform encrypted transmission, account-based transmission
authentication and rate limit, and multi-tenant isolation mechanism. authentication and rate limit, and multi-tenant isolation mechanism.
- Bear more efficient IO methods: multithreaded IO, memory mapping, DMA, etc. - Bear more efficient IO methods: multithreaded IO, memory mapping, DMA, etc.
- Advocate dynamic compression, in-memory file systems, - Advocate dynamic compression, in-memory file systems,
and more efficient scheduling algorithms to improve distribution efficiency. and more efficient scheduling algorithms to improve distribution efficiency.
- Client allows third-party software to - Client allows third-party software to
natively integrate Dragonflys P2P capabilities through C/S mode. natively integrate Dragonflys P2P capabilities through C/S mode.
- Productivity: Support file uploading, task management of - Productivity: Support file uploading, task management of
various distribution modes, data visualization, global control, etc. various distribution modes, data visualization, global control, etc.
- Consistent internal and external versions, shared core features, - Consistent internal and external versions, shared core features,
and individual extensions of non-generic features. and individual extensions of non-generic features.
- Enhanced integration with ecology: - Enhanced integration with ecology:
Harbor, Nydus (on-demand image download), Harbor, Nydus (on-demand image download),
warehouse services for various cloud vendors, etc. warehouse services for various cloud vendors, etc.
## Architecture ## Architecture
@ -95,9 +95,12 @@ Welcome developers to actively participate in community discussions
and contribute code to Dragonfly. We will remain and contribute code to Dragonfly. We will remain
concerned about the issues discussed in the community and respond quickly. concerned about the issues discussed in the community and respond quickly.
- Discussions: [Github Discussion Forum][discussion] - Slack Channel: [#dragonfly](https://cloud-native.slack.com/messages/dragonfly/) on [CNCF Slack](https://slack.cncf.io/)
- Discussion Group: <dragonfly-discuss@googlegroups.com>
- Developer Group: <dragonfly-developers@googlegroups.com>
- Github Discussions: [Dragonfly Discussion Forum][discussion]
- Twitter: [@dragonfly_oss](https://twitter.com/dragonfly_oss) - Twitter: [@dragonfly_oss](https://twitter.com/dragonfly_oss)
- DingTalk: 23304666 - DingTalk: `23304666`
<!-- markdownlint-disable --> <!-- markdownlint-disable -->
<div align="center"> <div align="center">

View File

@ -12,4 +12,4 @@ currently being supported with security updates.
## Reporting a Vulnerability ## Reporting a Vulnerability
Report to email: <Dragonfly2@noreply.github.com> Report to email: <dragonfly-developers@googlegroups.com>