You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/08/22 04:44:51 UTC

[apisix-website] branch feat-docusaurus updated: feat: update Guide

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch feat-docusaurus
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/feat-docusaurus by this push:
     new f738a6e  feat: update Guide
f738a6e is described below

commit f738a6eb5f5723dd31510d8a607b5733505cc178
Author: juzhiyuan <ju...@apache.org>
AuthorDate: Sat Aug 22 12:44:35 2020 +0800

    feat: update Guide
---
 docs/2fa.md               |  22 ++++-
 docs/committer-guide.md   |  68 +++++++++++++-
 docs/contributor-guide.md |  87 ++++++++++++++++-
 docs/release-guide.md     | 233 +++++++++++++++++++++++++++++++++++++++++++++-
 docs/security-guide.md    |  10 +-
 docs/subscribe-guide.md   |  10 +-
 website/sidebars.json     |   9 +-
 7 files changed, 429 insertions(+), 10 deletions(-)

diff --git a/docs/2fa.md b/docs/2fa.md
index de8c4ae..c0a5d11 100644
--- a/docs/2fa.md
+++ b/docs/2fa.md
@@ -1,6 +1,24 @@
 ---
-id: 2FA
+id: 2fa
 title: 2FA
 ---
 
-2FA
+## Two-factor authentication(2FA)
+
+Two factor authentication (2FA) refers to the authentication method that combines both passport and an object (credit card, SMS phone, token or biomarkers as fingerprint) to identify a user. To ensure the security of the committer’s account, we need you to enable 2FA to sign in and contribute codes on GitHub. More details, please refer to 2FA.
+
+Note:If you do not enable 2FA, you will be removed from the project and unable to access our repositories and the fork from our private repository.
+
+## Enable 2FA on GitHub
+
+For detailed operations, please refer to Enable Two Factor Authentication with TOTP.
+
+After enabling 2FA, you need to sign in GitHub with the way of username/password + mobile phone authentication code.
+
+Tips: If you cannot download the APP through the page link, you can search and download the Google Authenticator in APP Store.
+
+## How to Submit Codes
+
+After enabling 2FA, you need to generate a private access Token to perform operations such as git submit and so on. At this time, you will use username + private access Token in replace of username + password to submit codes.
+
+For detailed operations, please refer to Create a Private Token.
diff --git a/docs/committer-guide.md b/docs/committer-guide.md
index deb689a..4364021 100644
--- a/docs/committer-guide.md
+++ b/docs/committer-guide.md
@@ -3,4 +3,70 @@ id: committer-guide
 title: Committer Guide
 ---
 
-Committer Guide
+## What can I contribute?
+
+All forms of contributions are accepted, for example:
+
+1. Take a look at issues with tag called Good first issue or Help wanted.
+
+2. Join the discussion on mailing list.
+
+3. Answer questions on issues.
+
+4. Fix bugs reported on issues, and send us pull request.
+
+5. Review the existing pull request.
+
+6. Improve the website.
+
+7. Write document or article.
+
+8. Any form of contribution that is not mentioned above.
+
+If you would like to contribute, please send an email to dev@apisix.apache.org to let us know!
+
+## How to become a APISIX committer?
+
+Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.
+
+If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources.
+
+More details could be found here.
+
+## Promotion
+
+The Apache APISIX community follows the Apache Community’s process on accepting a new committer. After a contributor participates APISIX's community actively, (P)PMC and Committers will make decisions to invite the contributor join Committers and (P)PMC.
+
+Processes are:
+
+1. Start the discussion and vote in @private. Only current PMC member could nominate
+
+2. If the vote passes, send an offer to become a committer with @private CC’ed
+
+3. New committer signs ICLA and apply Apache ID and email address
+
+4. Update Team page.
+
+## Responsibilities
+
+1. Develop new features
+
+2. Refactor codes
+
+3. Review PR reliably and in time
+
+4. Consider and accept feature requests
+
+5. Answer questions
+
+6. Update documentation and examples
+
+7. Improve processes and tools
+
+8. Guide new contributors join community.
+
+## How to become a APISIX PMC?
+
+In APISIX community, if a committer who have earned even more merit, can be invited to be a part of the Project Management Committee (PMC).
+
+One thing that is sometimes hard to understand when you are new to the open development process used at the ASF, is that we value the community more than the code. A strong and healthy community will be respectful and be a fun and rewarding place. More importantly, a diverse and healthy community can continue to support the code over the longer term, even as individual companies come and go from the field.
diff --git a/docs/contributor-guide.md b/docs/contributor-guide.md
index 934763a..ae1f813 100644
--- a/docs/contributor-guide.md
+++ b/docs/contributor-guide.md
@@ -3,4 +3,89 @@ id: contributor-guide
 title: Contributor Guide
 ---
 
-Contributor Guide
+Please fee free to report bugs, submit suggestions, or submit PRs according to this guide.
+
+## Submit an issue
+
+1. Before submitting your issues, please go through a comprehensive search to make sure the problem cannot be solved just by searching.
+
+2. Check the Issue List to make sure the problem is not repeated.
+
+3. Create a new issue and choose the type of issue.
+
+4. Define the issue with a clear and descriptive title.
+
+5. Fill in necessary information according to the template.
+
+6. Choose a label after issue created.
+
+7. Please pay attention to your issue, you may need provide more information during discussion.
+
+## Developer Flow
+
+### Fork repo
+
+Fork the Apache APISIX repo to your own repo to work, then setting proper upstream.
+
+```sh
+git remote add upstream https://github.com/apache/apisix.git
+```
+
+### Choose an issue
+
+1. Please choose your target issue. If it is a new issue discovered or a new function enhancement to offer, please create an issue and set the right label for it.
+
+2. After choosing the relevant issue, please reply with a deadline to indicate that you are working on it.
+
+3. Find a mentor from the Team page and your mentor will give you feedback about your PR or issue in time.
+
+### Create your branch
+
+Switch to your forked master branch, pull codes from upstream, then create a new branch.
+
+```sh
+$ git checkout master
+$ git pull upstream master
+$ git checkout -b IssueNo
+```
+
+Notice: We will merge PR using squash, commit logs will be different form upstream if you use one older branch.
+
+### Coding
+
+1. Please obey the Code of Conduct during the process of development and finish the check before submitting the pull request.
+
+2. Then push codes to your fork repo.
+
+```sh
+$ git add modified-file-names
+$ git commit -m 'commit message'
+$ git push origin issueNo
+```
+
+### Submit PR
+
+1. Send a pull request to the master branch.
+
+2. The mentor will do codes review before discussing some details (including the design, the implementation and the performance) with you.
+
+3. Then congratulate to you to be an official contributor of Apache APISIX.
+
+### Delete branch
+
+You can delete the remote branch (origin/IssueNo) and the local branch (IssueNo) associated with the remote branch (origin/IssueNo) after the mentor merged the PR into the master branch.
+
+```sh
+$ git checkout master
+$ git branch -d IssueNo
+$ git push origin --delete issueNo
+```
+
+### Notice
+
+Please note that in order to show your ID in the contributor list, please DO NOT forget to set the configurations below:
+
+```sh
+$ git config --global user.name "username"
+$ git config --global user.email "mail address"
+```
diff --git a/docs/release-guide.md b/docs/release-guide.md
index 709a49a..a7e373d 100644
--- a/docs/release-guide.md
+++ b/docs/release-guide.md
@@ -3,4 +3,235 @@ id: release-guide
 title: Release Guide
 ---
 
-Release Guide
+## GPG Settings
+
+### Install GPG
+
+Download GnuPG from https://gnupg.org/download/index.html. There are differences between the 1.x and 2.x versions of the GnuPG commands, and the following descriptions are based on the GnuPG 2.x versions.
+
+After the installation is complete, execute the following command to check the version.
+
+```sh
+$ gpg --version
+```
+
+### Create Key
+
+Execute the following command to create the key:
+
+#### GnuPG-2.x:
+
+```sh
+$ gpg --full-gen-key
+```
+
+#### GnuPG-1.x:
+
+```sh
+gpg --gen-key
+```
+
+Follow the instructions to generate key:
+
+Note: Please use Apache email address to generate the GPG Key.
+
+```sh
+gpg (GnuPG) 2.0.12; Copyright (C) 2009 Free Software Foundation, Inc.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Please select what kind of key you want:
+(1) RSA and RSA (default)
+(2) DSA and Elgamal
+(3) DSA (sign only)
+(4) RSA (sign only)
+Your selection? 1
+RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (2048) 4096
+Requested keysize is 4096 bits
+Please specify how long the key should be valid.
+0 = key does not expire
+<n> = key expires in n days
+<n>w = key expires in n weeks
+<n>m = key expires in n months
+<n>y = key expires in n years
+Key is valid for? (0)
+Key does not expire at all
+Is this correct? (y/N) y
+
+GnuPG needs to construct a user ID to identify your key.
+
+Real name: ${Enter your username}
+Email address: ${Enter your email address}
+Comment: ${Enter comments}
+You selected this USER-ID:
+  "${Entered username} (${Entered comments}) &lt;${Entered email address}>"
+
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
+You need a Passphrase to protect your secret key. # Enter passphrase
+```
+
+### View the generated key:
+
+```sh
+gpg --list-keys
+```
+
+The example result:
+
+```sh
+$ gpg --list-keys
+
+/home/resty/.gnupg/pubring.gpg
+------------------------------
+pub 4096R/30B5FD72 2020-01-02
+uid Yuansheng Wang <me...@apache.org>
+sub 4096R/3D2F913D 2020-01-02
+```
+
+And `30B5FD72` is the ID of pub key
+
+### Synchronizing the public key to the server
+
+The steps are as follows:
+
+```sh
+# The last parameter is the public key ID generated above
+$ gpg --keyserver hkp://pool.sks-keyservers.net --send-key 30B5FD72
+
+gpg: sending key 30B5FD72 to hkp server pool.sks-keyservers.net
+```
+
+`pool.sks-keyservers.net` is one of pub key servers,the pub key will be automatically synchronized between each server, just choose any one.
+
+### Add `Key Fingerprint` to id.apache.org
+
+get Key Fingerprint
+
+```sh
+# Note the `Key fingerprint` section below.
+$ gpg --list-keys --fingerprint
+
+/home/resty/.gnupg/pubring.gpg
+------------------------------
+pub 4096R/30B5FD72 2020-01-02
+Key fingerprint = 0F91 BE0A 55A7 B22F DE1A CEEC 3352 48FD 30B5 FD72
+uid Yuansheng Wang <me...@apache.org>
+sub 4096R/3D2F913D 2020-01-02
+```
+
+### Login id.apache.org and submit Key Fingerprint
+
+### Add your GPG key to Apache svn
+
+download APISIX svn
+
+```sh
+$ svn --username=${Apache username} co https://dist.apache.org/repos/dist/dev/apisix
+```
+
+```sh
+$ cd apisix
+
+$ ls
+
+KEYS
+```
+
+Export the public key and append to the KEYS file.
+
+```sh
+$ gpg -a --export ${GPG username} >> KEYS
+```
+
+Commit the modified KEYS file, saving the public key to the svn server.
+
+```sh
+$ svn --username=${Apache username} commit -m "added \${Apache email} gpg pub key"
+Authentication realm: <https://dist.apache.org:443> ASF Committers
+Password for 'membphis': # input password
+Store password unencrypted (yes/no)? yes
+Sending KEYS
+Transmitting file data .
+Committed revision 37434.
+```
+
+### Make source code package and upload to Apache SVN
+
+Here's an example of preparing a 1.0-rc1 version. Before you make package, make sure you have branch v1.0 ready on github.
+
+```sh
+# Create a new version number directory and enter, for example: 1.0-rc1
+$ mkdir 1.0-rc1 && cd 1.0-rc1
+
+# download repo
+git clone -b v1.0 git@github.com:apache/apisix.git apache-apisix-1.0
+
+# check version
+$ cd apache-apisix-1.0 && ./utils/check-version.sh 1.0 && cd ..
+
+# delete .git
+$ rm -rf apache-apisix-1.0/.git
+
+# make tar package
+$ tar zcvf apache-apisix-1.0-rc1-src.tar.gz apache-apisix-1.0
+
+# Signature (this brings up a dialog box that prompts you to enter the password you entered when generating the gpg)
+$ gpg --armor --detach-sign apache-apisix-1.0-rc1-src.tar.gz
+
+# Generate sha512 checksum file
+$ shasum -a512 apache-apisix-1.0-rc1-src.tar.gz > apache-apisix-1.0-rc1-src.tar.gz.sha512
+
+# remove apache-apisix-1.0-rc1
+$ rm -rf apache-apisix-1.0
+
+# check files
+$ cd .. && tree
+.
+├── 1.0-rc1
+│   ├── apache-apisix-1.0-rc1-src.tar.gz
+│   ├── apache-apisix-1.0-rc1-src.tar.gz.asc
+│   └── apache-apisix-1.0-rc1-src.tar.gz.sha512
+└── KEYS
+
+1 directory, 4 files
+
+# add files to SVN
+$ svn add *
+A         1.0-rc1
+A  (bin)  1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz.asc
+A  (bin)  1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz
+A         1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz.sha512
+svn: warning: W150002: '/home/resty/git/apache_svn/apisix/KEYS' is already under version control
+svn: E200009: Could not add all targets because some targets are already versioned
+svn: E200009: Illegal target for the requested operation
+
+# commit to Apache SVN
+$ svn --username=${Apache username} commit -m "release 1.0-rc1"
+Adding         1.0-rc1
+Adding  (bin)  1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz
+Adding  (bin)  1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz.asc
+Adding         1.0-rc1/apache-apisix-1.0-rc1-src.tar.gz.sha512
+Transmitting file data ...
+Committed revision 37435.
+```
+
+### Send VOTE thread to dev mailinglist
+
+Click here to view the reference emailThere is a minimum wait of 72 hours before statistical voting results. If you get -1 vote, you need to solve the problem before you can continue.
+
+### Send VOTE RESULT thread to dev mailinglist
+
+Click here to view the reference email at least 3 `+1` votes is required, then send the vote result to dev@apisix.apache.org.
+
+### Send ANNOUNCE
+
+Click here to view the reference email send announce email to dev@apisix.apache.org and announce@apache.org
+
+### Move package from dev to dist
+
+Remove `rc` from the package name, move KEYS and package to address
+
+### Update Download page
+
+update address , source repo is https://github.com/apache/apisix-website
diff --git a/docs/security-guide.md b/docs/security-guide.md
index b1b2564..e8ce031 100644
--- a/docs/security-guide.md
+++ b/docs/security-guide.md
@@ -1,6 +1,10 @@
 ---
-id: security-guide
-title: Security Guide
+id: security
+title: Security
 ---
 
-Security Guide
+The Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache APISIX is also very concerned Security issues related to its features and functionality.
+
+If you have apprehensions regarding APISIX’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at security@apache.org. Please specify the project name as APISIX and its product name APISIX or APISIX-Dashboard in the email and provide a description of the relevant problem or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The apache security team and th [...]
+
+Please pay attention to report the security issue on the security email before disclosing it on public domain.
diff --git a/docs/subscribe-guide.md b/docs/subscribe-guide.md
index 1dbbbc9..1951753 100644
--- a/docs/subscribe-guide.md
+++ b/docs/subscribe-guide.md
@@ -3,4 +3,12 @@ id: subscrbe-guide
 title: Subscribe Guide
 ---
 
-subscrbe-guide
\ No newline at end of file
+During the process of using Apache APISIX, if there has any problems, suggestion or new ideas, please feel free to use the Apache mailing-list to participate in the community construction.
+
+1. Send e-mail to subscribe the mailing-list first. Use your mailbox to send an e-mail to dev-subscribe@apisix.apache.org with any subjects or contents.
+
+2. Receive and reply the confirmation e-mail. After Step 1, you will receive a confirmation e-mail from dev-help@apisix.apache.org (if you can not receive that, please check “RSS feeds”, “junk e-mail” or other items). Reply that e-mail directly or click the link in e-mail to reply, with any subjects or contents.
+
+3. Receive the Welcome e-mail. After finishing the two steps above, an e-mail with the subject of WELCOME to dev@apisix.apache.org will be sent to your e-mail address. Until now, you have succeeded in subscribing Apache APISIX mailing-list.
+
+4. Until now, you can interact with community by your subscribed email or track email conversations by Archived email list.
\ No newline at end of file
diff --git a/website/sidebars.json b/website/sidebars.json
index 484a71e..24fe4e3 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -1,5 +1,12 @@
 {
   "docs": {
-    "Get Involved": ["subscrbe-guide", "contributor-guide", "committer-guide", "release-guide", "security", "2FA"]
+    "Get Involved": [
+      "security",
+      "subscrbe-guide",
+      "contributor-guide",
+      "committer-guide",
+      "2fa",
+      "release-guide"
+    ]
   }
 }