This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new fb2fc9a deploy: 582258f42f5406156c4ce8411b43fae5f9675277
fb2fc9a is described below
commit fb2fc9ae21b648fbe42952a3e9605b8135bbe24c
Author: juzhiyuan <[email protected]>
AuthorDate: Mon Jan 18 14:31:52 2021 +0000
deploy: 582258f42f5406156c4ce8411b43fae5f9675277
---
2fa.html | 2 +-
2fa/index.html | 2 +-
apisix/admin-api.html | 46 ++++++++++++++++++++++++++++++++++++---
apisix/admin-api/index.html | 46 ++++++++++++++++++++++++++++++++++++---
apisix/zh-cn/admin-api.html | 46 ++++++++++++++++++++++++++++++++++++---
apisix/zh-cn/admin-api/index.html | 46 ++++++++++++++++++++++++++++++++++++---
committer-guide.html | 2 +-
committer-guide/index.html | 2 +-
contributor-guide.html | 2 +-
contributor-guide/index.html | 2 +-
downloads.html | 4 ++--
downloads/index.html | 4 ++--
release-guide.html | 2 +-
release-guide/index.html | 2 +-
security.html | 2 +-
security/index.html | 2 +-
subscribe-guide.html | 2 +-
subscribe-guide/index.html | 2 +-
team.html | 2 +-
team/index.html | 2 +-
20 files changed, 190 insertions(+), 30 deletions(-)
diff --git a/2fa.html b/2fa.html
index 4f6bd3a..7778627 100644
--- a/2fa.html
+++ b/2fa.html
@@ -70,7 +70,7 @@
<h2><a class="anchor" aria-hidden="true" id="how-to-submit-codes"></a><a
href="#how-to-submit-codes" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
<p>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.</p>
<p>For detailed operations, please refer to Create a Private Token.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/committer-guide"><span class="arrow-prev">←
</span><span>Committer Guide</span></a><a class="docs-next button"
href="/release-guide"><span>Release Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#two-factor-authentication2fa">Two-factor
authentic [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/committer-guide"><span class="arrow-prev">←
</span><span>Committer Guide</span></a><a class="docs-next button"
href="/release-guide"><span>Release Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#two-factor-authentication2fa">Two-factor
authentica [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/2fa/index.html b/2fa/index.html
index 4f6bd3a..7778627 100644
--- a/2fa/index.html
+++ b/2fa/index.html
@@ -70,7 +70,7 @@
<h2><a class="anchor" aria-hidden="true" id="how-to-submit-codes"></a><a
href="#how-to-submit-codes" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
<p>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.</p>
<p>For detailed operations, please refer to Create a Private Token.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/committer-guide"><span class="arrow-prev">←
</span><span>Committer Guide</span></a><a class="docs-next button"
href="/release-guide"><span>Release Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#two-factor-authentication2fa">Two-factor
authentic [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/committer-guide"><span class="arrow-prev">←
</span><span>Committer Guide</span></a><a class="docs-next button"
href="/release-guide"><span>Release Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#two-factor-authentication2fa">Two-factor
authentica [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/apisix/admin-api.html b/apisix/admin-api.html
index 1e7e2fc..5da513a 100644
--- a/apisix/admin-api.html
+++ b/apisix/admin-api.html
@@ -29,6 +29,7 @@
<li><a href="#consumer">Consumer</a></li>
<li><a href="#upstream">Upstream</a></li>
<li><a href="#ssl">SSL</a></li>
+<li><a href="#global-rule">Global Rule</a></li>
<li><a href="#plugin-metadata">Plugin Metadata</a></li>
<li><a href="#plugin">Plugin</a></li>
</ul>
@@ -523,7 +524,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>Name</th><th>Optional</th><th>Description</th></tr>
</thead>
<tbody>
-<tr><td>type</td><td>required</td><td><code>roundrobin</code> supports the
weight of the load, <code>chash</code> consistency hash,<code>ewma</code>
minimum latency ,pick one of them.see <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details</td></tr>
+<tr><td>type</td><td>required</td><td>the balancer algorithm</td></tr>
<tr><td>nodes</td><td>required, can't be used with
<code>service_name</code></td><td>Hash table, the key of the internal element
is the upstream machine address list, the format is <code>Address +
Port</code>, where the address part can be IP or domain name, such as
<code>192.168.1.100:80</code>, <code>foo.com:80</code>, etc. Value is the
weight of the node. In particular, when the weight value is <code>0</code>, it
has a special meaning, which usually means that the upstream node is inv [...]
<tr><td>service_name</td><td>required, can't be used with
<code>nodes</code></td><td>the name of service used in the service discovery,
see <a href="/apisix/discovery">discovery</a> for more details</td></tr>
<tr><td>discovery_type</td><td>required, if <code>server_name</code> is
used</td><td>the type of service discovery, see <a
href="/apisix/discovery">discovery</a> for more details</td></tr>
@@ -541,6 +542,13 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><td>update_time</td><td>optional</td><td>epoch timestamp in second, like
<code>1602883670</code>, will be created automatically if missing</td></tr>
</tbody>
</table>
+<p><code>type</code> can be one of:</p>
+<ul>
+<li><code>roundrobin</code>: roundrobin with weight</li>
+<li><code>chash</code>: consistent hash</li>
+<li><code>ewma</code>: pick one of node which has minimum latency. See <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details.</li>
+<li><code>least_conn</code>: pick node which has the lowest <code>(active_conn
+ 1) / weight</code>. Note the <code>active connection</code> concept is the
same with Nginx: it is a connection in used by a request.</li>
+</ul>
<p><code>hash_on</code> can be set to different types:</p>
<ol>
<li>when it is <code>vars</code>, the <code>key</code> is required. The
<code>key</code> can be any <a
href="http://nginx.org/en/docs/varindex.html">Nginx builtin variables</a>,
without the prefix '$'.</li>
@@ -560,7 +568,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
"read":15,
},
"nodes": {"host:80": 100}, # Upstream machine address list, the format is
`Address + Port`
- "type":"roundrobin", # chash or roundrobin
+ "type":"roundrobin",
"checks": {}, # Health check parameters
"hash_on": "",
"key": "",
@@ -698,6 +706,38 @@ After the execution is successful, nodes will not retain
the original data, and
"snis": ["t.com"] # https SNI
}
</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="global-rule"></a><a
href="#global-rule" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42
[...]
+<p><em>API</em>:/apisix/admin/global_rules/{id}</p>
+<p><em>Description</em>: Set plugins which run globally. Those plugins will be
run before any Route/Service level plugins.</p>
+<blockquote>
+<p>Request Methods:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>Method</th><th>Request URI</th><th>Request
Body</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>GET</td><td>/apisix/admin/global_rules</td><td>NULL</td><td>Fetch
resource list</td></tr>
+<tr><td>GET</td><td>/apisix/admin/global_rules/{id}</td><td>NULL</td><td>Fetch
resource</td></tr>
+<tr><td>PUT</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>Create
resource by ID</td></tr>
+<tr><td>DELETE</td><td>/apisix/admin/global_rules/{id}</td><td>NULL</td><td>Remove
resource</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>Standard
PATCH. Update some attributes of the existing global rule, and other
attributes not involved will remain as they are; if you want to delete an
attribute, set the value of the attribute Set to null to delete; especially,
when the value of the attribute is an array, the attribute will be updated in
full</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}/{path}</td><td>{...}</td><td>SubPath
PATCH, specify the attribute of global rule to be updated through {path},
update the value of this attribute in full, and other attributes that are not
involved will remain as they are.</td></tr>
+</tbody>
+</table>
+<blockquote>
+<p>Request Body Parameters:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>Parameter</th><th>Required</th><th>Description</th><th>Example</th></tr>
+</thead>
+<tbody>
+<tr><td>plugins</td><td>True</td><td>See <a
href="/apisix/architecture-design#plugin">Plugin</a></td><td></td></tr>
+<tr><td>create_time</td><td>False</td><td>epoch timestamp in second, will be
created automatically if missing</td><td>1602883670</td></tr>
+<tr><td>update_time</td><td>False</td><td>epoch timestamp in second, will be
created automatically if missing</td><td>1602883670</td></tr>
+</tbody>
+</table>
<h2><a class="anchor" aria-hidden="true" id="plugin-metadata"></a><a
href="#plugin-metadata" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 [...]
<p><em>API</em>:/apisix/admin/plugin_metadata/{plugin_name}</p>
<p><em>Description</em>: plugin metadata.</p>
@@ -769,7 +809,7 @@ $</span><span class="bash"> curl <span
class="hljs-string">"http://127.0.0.1:908
</tbody>
</table>
<p><a href="#Table-of-Contents">Back to TOC</a></p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#plugin-metadata">Plugin Metadata</a></li><li><a
href="#plugin">Plugin</a></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#global-rule">Global Rule</a></li><li><a href="#plugin-metadata">Plugin
Metadata</a></li><li><a href="#plugin">Plugin</a></li></ul></nav></div><footer
class="nav-footer" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/apisix/admin-api/index.html b/apisix/admin-api/index.html
index 1e7e2fc..5da513a 100644
--- a/apisix/admin-api/index.html
+++ b/apisix/admin-api/index.html
@@ -29,6 +29,7 @@
<li><a href="#consumer">Consumer</a></li>
<li><a href="#upstream">Upstream</a></li>
<li><a href="#ssl">SSL</a></li>
+<li><a href="#global-rule">Global Rule</a></li>
<li><a href="#plugin-metadata">Plugin Metadata</a></li>
<li><a href="#plugin">Plugin</a></li>
</ul>
@@ -523,7 +524,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>Name</th><th>Optional</th><th>Description</th></tr>
</thead>
<tbody>
-<tr><td>type</td><td>required</td><td><code>roundrobin</code> supports the
weight of the load, <code>chash</code> consistency hash,<code>ewma</code>
minimum latency ,pick one of them.see <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details</td></tr>
+<tr><td>type</td><td>required</td><td>the balancer algorithm</td></tr>
<tr><td>nodes</td><td>required, can't be used with
<code>service_name</code></td><td>Hash table, the key of the internal element
is the upstream machine address list, the format is <code>Address +
Port</code>, where the address part can be IP or domain name, such as
<code>192.168.1.100:80</code>, <code>foo.com:80</code>, etc. Value is the
weight of the node. In particular, when the weight value is <code>0</code>, it
has a special meaning, which usually means that the upstream node is inv [...]
<tr><td>service_name</td><td>required, can't be used with
<code>nodes</code></td><td>the name of service used in the service discovery,
see <a href="/apisix/discovery">discovery</a> for more details</td></tr>
<tr><td>discovery_type</td><td>required, if <code>server_name</code> is
used</td><td>the type of service discovery, see <a
href="/apisix/discovery">discovery</a> for more details</td></tr>
@@ -541,6 +542,13 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><td>update_time</td><td>optional</td><td>epoch timestamp in second, like
<code>1602883670</code>, will be created automatically if missing</td></tr>
</tbody>
</table>
+<p><code>type</code> can be one of:</p>
+<ul>
+<li><code>roundrobin</code>: roundrobin with weight</li>
+<li><code>chash</code>: consistent hash</li>
+<li><code>ewma</code>: pick one of node which has minimum latency. See <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a>
for details.</li>
+<li><code>least_conn</code>: pick node which has the lowest <code>(active_conn
+ 1) / weight</code>. Note the <code>active connection</code> concept is the
same with Nginx: it is a connection in used by a request.</li>
+</ul>
<p><code>hash_on</code> can be set to different types:</p>
<ol>
<li>when it is <code>vars</code>, the <code>key</code> is required. The
<code>key</code> can be any <a
href="http://nginx.org/en/docs/varindex.html">Nginx builtin variables</a>,
without the prefix '$'.</li>
@@ -560,7 +568,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
"read":15,
},
"nodes": {"host:80": 100}, # Upstream machine address list, the format is
`Address + Port`
- "type":"roundrobin", # chash or roundrobin
+ "type":"roundrobin",
"checks": {}, # Health check parameters
"hash_on": "",
"key": "",
@@ -698,6 +706,38 @@ After the execution is successful, nodes will not retain
the original data, and
"snis": ["t.com"] # https SNI
}
</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="global-rule"></a><a
href="#global-rule" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42
[...]
+<p><em>API</em>:/apisix/admin/global_rules/{id}</p>
+<p><em>Description</em>: Set plugins which run globally. Those plugins will be
run before any Route/Service level plugins.</p>
+<blockquote>
+<p>Request Methods:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>Method</th><th>Request URI</th><th>Request
Body</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>GET</td><td>/apisix/admin/global_rules</td><td>NULL</td><td>Fetch
resource list</td></tr>
+<tr><td>GET</td><td>/apisix/admin/global_rules/{id}</td><td>NULL</td><td>Fetch
resource</td></tr>
+<tr><td>PUT</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>Create
resource by ID</td></tr>
+<tr><td>DELETE</td><td>/apisix/admin/global_rules/{id}</td><td>NULL</td><td>Remove
resource</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>Standard
PATCH. Update some attributes of the existing global rule, and other
attributes not involved will remain as they are; if you want to delete an
attribute, set the value of the attribute Set to null to delete; especially,
when the value of the attribute is an array, the attribute will be updated in
full</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}/{path}</td><td>{...}</td><td>SubPath
PATCH, specify the attribute of global rule to be updated through {path},
update the value of this attribute in full, and other attributes that are not
involved will remain as they are.</td></tr>
+</tbody>
+</table>
+<blockquote>
+<p>Request Body Parameters:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>Parameter</th><th>Required</th><th>Description</th><th>Example</th></tr>
+</thead>
+<tbody>
+<tr><td>plugins</td><td>True</td><td>See <a
href="/apisix/architecture-design#plugin">Plugin</a></td><td></td></tr>
+<tr><td>create_time</td><td>False</td><td>epoch timestamp in second, will be
created automatically if missing</td><td>1602883670</td></tr>
+<tr><td>update_time</td><td>False</td><td>epoch timestamp in second, will be
created automatically if missing</td><td>1602883670</td></tr>
+</tbody>
+</table>
<h2><a class="anchor" aria-hidden="true" id="plugin-metadata"></a><a
href="#plugin-metadata" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 [...]
<p><em>API</em>:/apisix/admin/plugin_metadata/{plugin_name}</p>
<p><em>Description</em>: plugin metadata.</p>
@@ -769,7 +809,7 @@ $</span><span class="bash"> curl <span
class="hljs-string">"http://127.0.0.1:908
</tbody>
</table>
<p><a href="#Table-of-Contents">Back to TOC</a></p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#plugin-metadata">Plugin Metadata</a></li><li><a
href="#plugin">Plugin</a></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#global-rule">Global Rule</a></li><li><a href="#plugin-metadata">Plugin
Metadata</a></li><li><a href="#plugin">Plugin</a></li></ul></nav></div><footer
class="nav-footer" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/apisix/zh-cn/admin-api.html b/apisix/zh-cn/admin-api.html
index 3523b8d..a5a0259 100644
--- a/apisix/zh-cn/admin-api.html
+++ b/apisix/zh-cn/admin-api.html
@@ -29,6 +29,7 @@
<li><a href="#consumer">Consumer</a></li>
<li><a href="#upstream">Upstream</a></li>
<li><a href="#ssl">SSL</a></li>
+<li><a href="#global-rule">Global Rule</a></li>
<li><a href="#plugin-metadata">Plugin Metadata</a></li>
<li><a href="#plugin">Plugin</a></li>
</ul>
@@ -533,10 +534,10 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
</thead>
<tbody>
+<tr><td>type</td><td>必需</td><td>枚举</td><td></td><td>负载均衡算法</td><td></td></tr>
<tr><td>nodes</td><td>必需,不能和 <code>service_name</code>
一起用</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code> 有特殊含义,通常代表该上游节点失效,永远不希望被选中。<code>nodes</code>
可以为空,这通常用作占位符。客户端命中这样的上游会返回 502。</td><td><code>192.168.1.100:80</code></td></tr>
<tr><td>service_name</td><td>必需,不能和 <code>nodes</code>
一起用</td><td>string</td><td>服务发现时使用的服务名,见<a
href="/apisix/zh-cn/discovery">集成服务发现注册中心</a></td><td><code>a-bootiful-client</code></td></tr>
<tr><td>discovery_type</td><td>必需,如果设置了
<code>service_name</code></td><td>string</td><td>服务发现类型,见<a
href="/apisix/zh-cn/discovery">集成服务发现注册中心</a></td><td><code>eureka</code></td></tr>
-<tr><td>type</td><td>必需</td><td>枚举</td><td><code>roundrobin</code>
支持权重的负载,<code>chash</code>
一致性哈希,两者是二选一的</td><td><code>roundrobin</code></td><td></td></tr>
<tr><td>key</td><td>条件必需</td><td>匹配类型</td><td>该选项只有类型是 <code>chash</code>
才有效。根据 <code>key</code> 来查找对应的 node <code>id</code>,相同的 <code>key</code>
在同一个对象中,永远返回相同 id,目前支持的 Nginx 内置变量有 <code>uri, server_name, server_addr,
request_uri, remote_port, remote_addr, query_string, host, hostname,
arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></td><td></td></tr>
<tr><td>checks</td><td>可选</td><td>health_checker</td><td>配置健康检查的参数,详细可参考<a
href="/apisix/health-check">health-check</a></td><td></td></tr>
<tr><td>retries</td><td>可选</td><td>整型</td><td>使用底层的 Nginx
重试机制将请求传递给下一个上游,默认启用重试且次数为后端可用的 node 数量。如果指定了具体重试次数,它将覆盖默认值。<code>0</code>
代表不启用重试机制。</td><td></td></tr>
@@ -551,6 +552,13 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><td>update_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
</tbody>
</table>
+<p><code>type</code> 可以是以下的一种:</p>
+<ul>
+<li><code>roundrobin</code>: 带权重的 roundrobin</li>
+<li><code>chash</code>: 一致性哈希</li>
+<li><code>ewma</code>: 选择延迟最小的节点,计算细节参考 <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a></li>
+<li><code>least_conn</code>: 选择 <code>(active_conn + 1) / weight</code>
最小的节点。注意这里的 <code>active connection</code> 概念跟 Nginx 的相同:它是当前正在被请求使用的连接。</li>
+</ul>
<p><code>hash_on</code> 比较复杂,这里专门说明下:</p>
<ol>
<li>设为 <code>vars</code> 时,<code>key</code> 为必传参数,目前支持的 Nginx 内置变量有 <code>uri,
server_name, server_addr, request_uri, remote_port, remote_addr, query_string,
host, hostname, arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></li>
@@ -569,7 +577,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
"read":15,
},
"nodes": {"host:80": 100}, # 上游机器地址列表,格式为`地址 + Port`
- "type":"roundrobin", # chash or roundrobin
+ "type":"roundrobin",
"checks": {}, # 配置健康检查的参数
"hash_on": "",
"key": "",
@@ -706,6 +714,38 @@ HTTP/1.1 200 OK
"snis": ["t.com"] # HTTPS 握手时客户端发送的 SNI
}
</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="global-rule"></a><a
href="#global-rule" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42
[...]
+<p><em>地址</em>:/apisix/admin/global_rules/{id}</p>
+<p><em>说明</em>:设置全局运行的插件。这一类插件在所有路由级别的插件之前优先运行。</p>
+<blockquote>
+<p>请求方法:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>名字</th><th>请求 uri</th><th>请求 body</th><th>说明</th></tr>
+</thead>
+<tbody>
+<tr><td>GET</td><td>/apisix/admin/global_rules</td><td>无</td><td>获取资源列表</td></tr>
+<tr><td>GET</td><td>/apisix/admin/global_rules/{id}</td><td>无</td><td>获取资源</td></tr>
+<tr><td>PUT</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>根据
id 创建资源</td></tr>
+<tr><td>DELETE</td><td>/apisix/admin/global_rules/{id}</td><td>无</td><td>删除资源</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>标准
PATCH ,修改已有 Global Rule 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null
即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}/{path}</td><td>{...}</td><td>SubPath
PATCH,通过 {path} 指定 Global Rule 要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留。</td></tr>
+</tbody>
+</table>
+<blockquote>
+<p>body 请求参数:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
+</thead>
+<tbody>
+<tr><td>plugins</td><td>必需</td><td>Plugin</td><td>详见 <a
href="/apisix/zh-cn/architecture-design#plugin">Plugin</a></td><td></td></tr>
+<tr><td>create_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
+<tr><td>update_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
+</tbody>
+</table>
<h2><a class="anchor" aria-hidden="true" id="plugin-metadata"></a><a
href="#plugin-metadata" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 [...]
<p><em>地址</em>:/apisix/admin/plugin_metadata/{plugin_name}</p>
<p><em>说明</em>: 插件元数据。</p>
@@ -777,7 +817,7 @@ $</span><span class="bash"> curl <span
class="hljs-string">"http://127.0.0.1:908
</tbody>
</table>
<p><a href="#目录">Back to TOC</a></p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#plugin-metadata">Plugin Metadata</a></li><li><a
href="#plugin">Plugin</a></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#global-rule">Global Rule</a></li><li><a href="#plugin-metadata">Plugin
Metadata</a></li><li><a href="#plugin">Plugin</a></li></ul></nav></div><footer
class="nav-footer" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/apisix/zh-cn/admin-api/index.html
b/apisix/zh-cn/admin-api/index.html
index 3523b8d..a5a0259 100644
--- a/apisix/zh-cn/admin-api/index.html
+++ b/apisix/zh-cn/admin-api/index.html
@@ -29,6 +29,7 @@
<li><a href="#consumer">Consumer</a></li>
<li><a href="#upstream">Upstream</a></li>
<li><a href="#ssl">SSL</a></li>
+<li><a href="#global-rule">Global Rule</a></li>
<li><a href="#plugin-metadata">Plugin Metadata</a></li>
<li><a href="#plugin">Plugin</a></li>
</ul>
@@ -533,10 +534,10 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
</thead>
<tbody>
+<tr><td>type</td><td>必需</td><td>枚举</td><td></td><td>负载均衡算法</td><td></td></tr>
<tr><td>nodes</td><td>必需,不能和 <code>service_name</code>
一起用</td><td>Node</td><td>哈希表,内部元素的 key 是上游机器地址列表,格式为<code>地址 +
Port</code>,其中地址部分可以是 IP 也可以是域名,比如
<code>192.168.1.100:80</code>、<code>foo.com:80</code>等。value 则是节点的权重,特别的,当权重值为
<code>0</code> 有特殊含义,通常代表该上游节点失效,永远不希望被选中。<code>nodes</code>
可以为空,这通常用作占位符。客户端命中这样的上游会返回 502。</td><td><code>192.168.1.100:80</code></td></tr>
<tr><td>service_name</td><td>必需,不能和 <code>nodes</code>
一起用</td><td>string</td><td>服务发现时使用的服务名,见<a
href="/apisix/zh-cn/discovery">集成服务发现注册中心</a></td><td><code>a-bootiful-client</code></td></tr>
<tr><td>discovery_type</td><td>必需,如果设置了
<code>service_name</code></td><td>string</td><td>服务发现类型,见<a
href="/apisix/zh-cn/discovery">集成服务发现注册中心</a></td><td><code>eureka</code></td></tr>
-<tr><td>type</td><td>必需</td><td>枚举</td><td><code>roundrobin</code>
支持权重的负载,<code>chash</code>
一致性哈希,两者是二选一的</td><td><code>roundrobin</code></td><td></td></tr>
<tr><td>key</td><td>条件必需</td><td>匹配类型</td><td>该选项只有类型是 <code>chash</code>
才有效。根据 <code>key</code> 来查找对应的 node <code>id</code>,相同的 <code>key</code>
在同一个对象中,永远返回相同 id,目前支持的 Nginx 内置变量有 <code>uri, server_name, server_addr,
request_uri, remote_port, remote_addr, query_string, host, hostname,
arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></td><td></td></tr>
<tr><td>checks</td><td>可选</td><td>health_checker</td><td>配置健康检查的参数,详细可参考<a
href="/apisix/health-check">health-check</a></td><td></td></tr>
<tr><td>retries</td><td>可选</td><td>整型</td><td>使用底层的 Nginx
重试机制将请求传递给下一个上游,默认启用重试且次数为后端可用的 node 数量。如果指定了具体重试次数,它将覆盖默认值。<code>0</code>
代表不启用重试机制。</td><td></td></tr>
@@ -551,6 +552,13 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
<tr><td>update_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
</tbody>
</table>
+<p><code>type</code> 可以是以下的一种:</p>
+<ul>
+<li><code>roundrobin</code>: 带权重的 roundrobin</li>
+<li><code>chash</code>: 一致性哈希</li>
+<li><code>ewma</code>: 选择延迟最小的节点,计算细节参考 <a
href="https://en.wikipedia.org/wiki/EWMA_chart">https://en.wikipedia.org/wiki/EWMA_chart</a></li>
+<li><code>least_conn</code>: 选择 <code>(active_conn + 1) / weight</code>
最小的节点。注意这里的 <code>active connection</code> 概念跟 Nginx 的相同:它是当前正在被请求使用的连接。</li>
+</ul>
<p><code>hash_on</code> 比较复杂,这里专门说明下:</p>
<ol>
<li>设为 <code>vars</code> 时,<code>key</code> 为必传参数,目前支持的 Nginx 内置变量有 <code>uri,
server_name, server_addr, request_uri, remote_port, remote_addr, query_string,
host, hostname, arg_***</code>,其中 <code>arg_***</code> 是来自URL的请求参数,<a
href="http://nginx.org/en/docs/varindex.html">Nginx 变量列表</a></li>
@@ -569,7 +577,7 @@ Date: Thu, 26 Dec 2019 08:17:49 GMT
"read":15,
},
"nodes": {"host:80": 100}, # 上游机器地址列表,格式为`地址 + Port`
- "type":"roundrobin", # chash or roundrobin
+ "type":"roundrobin",
"checks": {}, # 配置健康检查的参数
"hash_on": "",
"key": "",
@@ -706,6 +714,38 @@ HTTP/1.1 200 OK
"snis": ["t.com"] # HTTPS 握手时客户端发送的 SNI
}
</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="global-rule"></a><a
href="#global-rule" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42
[...]
+<p><em>地址</em>:/apisix/admin/global_rules/{id}</p>
+<p><em>说明</em>:设置全局运行的插件。这一类插件在所有路由级别的插件之前优先运行。</p>
+<blockquote>
+<p>请求方法:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>名字</th><th>请求 uri</th><th>请求 body</th><th>说明</th></tr>
+</thead>
+<tbody>
+<tr><td>GET</td><td>/apisix/admin/global_rules</td><td>无</td><td>获取资源列表</td></tr>
+<tr><td>GET</td><td>/apisix/admin/global_rules/{id}</td><td>无</td><td>获取资源</td></tr>
+<tr><td>PUT</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>根据
id 创建资源</td></tr>
+<tr><td>DELETE</td><td>/apisix/admin/global_rules/{id}</td><td>无</td><td>删除资源</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}</td><td>{...}</td><td>标准
PATCH ,修改已有 Global Rule 的部分属性,其他不涉及的属性会原样保留;如果你要删除某个属性,将该属性的值设置为null
即可删除;特别地,当需要修改属性的值为数组时,该属性将全量更新</td></tr>
+<tr><td>PATCH</td><td>/apisix/admin/global_rules/{id}/{path}</td><td>{...}</td><td>SubPath
PATCH,通过 {path} 指定 Global Rule 要更新的属性,全量更新该属性的数据,其他不涉及的属性会原样保留。</td></tr>
+</tbody>
+</table>
+<blockquote>
+<p>body 请求参数:</p>
+</blockquote>
+<table>
+<thead>
+<tr><th>名字</th><th>可选项</th><th>类型</th><th>说明</th><th>示例</th></tr>
+</thead>
+<tbody>
+<tr><td>plugins</td><td>必需</td><td>Plugin</td><td>详见 <a
href="/apisix/zh-cn/architecture-design#plugin">Plugin</a></td><td></td></tr>
+<tr><td>create_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
+<tr><td>update_time</td><td>可选</td><td>辅助</td><td>单位为秒的 epoch
时间戳,如果不指定则自动创建</td><td>1602883670</td></tr>
+</tbody>
+</table>
<h2><a class="anchor" aria-hidden="true" id="plugin-metadata"></a><a
href="#plugin-metadata" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 [...]
<p><em>地址</em>:/apisix/admin/plugin_metadata/{plugin_name}</p>
<p><em>说明</em>: 插件元数据。</p>
@@ -777,7 +817,7 @@ $</span><span class="bash"> curl <span
class="hljs-string">"http://127.0.0.1:908
</tbody>
</table>
<p><a href="#目录">Back to TOC</a></p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#plugin-metadata">Plugin Metadata</a></li><li><a
href="#plugin">Plugin</a></li></ul></nav></div><footer class="nav-footer"
id="footer"><section class="sitemap"><a href="/ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#route">Route</a></li><li><a href="#service">Service</a></li><li><a
href="#consumer">Consumer</a></li><li><a
href="#upstream">Upstream</a></li><li><a href="#ssl">SSL</a></li><li><a
href="#global-rule">Global Rule</a></li><li><a href="#plugin-metadata">Plugin
Metadata</a></li><li><a href="#plugin">Plugin</a></li></ul></nav></div><footer
class="nav-footer" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/committer-guide.html b/committer-guide.html
index ca20a05..a332ff1 100644
--- a/committer-guide.html
+++ b/committer-guide.html
@@ -100,7 +100,7 @@
<h2><a class="anchor" aria-hidden="true"
id="how-to-become-a-apisix-pmc"></a><a href="#how-to-become-a-apisix-pmc"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H [...]
<p>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).</p>
<p>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.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/contributor-guide"><span class="arrow-prev">←
</span><span>Contributor Guide</span></a><a class="docs-next button"
href="/2fa"><span>2FA</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#what-can-i-contribute">What can I
contribute?</a></li><li><a href= [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/contributor-guide"><span class="arrow-prev">←
</span><span>Contributor Guide</span></a><a class="docs-next button"
href="/2fa"><span>2FA</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#what-can-i-contribute">What can I
contribute?</a></li><li><a href=" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/committer-guide/index.html b/committer-guide/index.html
index ca20a05..a332ff1 100644
--- a/committer-guide/index.html
+++ b/committer-guide/index.html
@@ -100,7 +100,7 @@
<h2><a class="anchor" aria-hidden="true"
id="how-to-become-a-apisix-pmc"></a><a href="#how-to-become-a-apisix-pmc"
aria-hidden="true" class="hash-link"><svg class="hash-link-icon"
aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16"
width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4
3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10
5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2
2.5S13.98 12 13 12H [...]
<p>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).</p>
<p>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.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/contributor-guide"><span class="arrow-prev">←
</span><span>Contributor Guide</span></a><a class="docs-next button"
href="/2fa"><span>2FA</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#what-can-i-contribute">What can I
contribute?</a></li><li><a href= [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/contributor-guide"><span class="arrow-prev">←
</span><span>Contributor Guide</span></a><a class="docs-next button"
href="/2fa"><span>2FA</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#what-can-i-contribute">What can I
contribute?</a></li><li><a href=" [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/contributor-guide.html b/contributor-guide.html
index 5fabeec..83e4d85 100644
--- a/contributor-guide.html
+++ b/contributor-guide.html
@@ -116,7 +116,7 @@ $ git push origin --delete issueNo
<pre><code class="hljs css language-sh">$ git config --global user.name <span
class="hljs-string">"username"</span>
$ git config --global user.email <span class="hljs-string">"mail
address"</span>
</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/subscribe-guide"><span class="arrow-prev">←
</span><span>Subscribe Guide</span></a><a class="docs-next button"
href="/committer-guide"><span>Committer Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#submit-an-issue">Submit an
issue</a></li><li>< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/subscribe-guide"><span class="arrow-prev">←
</span><span>Subscribe Guide</span></a><a class="docs-next button"
href="/committer-guide"><span>Committer Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#submit-an-issue">Submit an
issue</a></li><li><a [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/contributor-guide/index.html b/contributor-guide/index.html
index 5fabeec..83e4d85 100644
--- a/contributor-guide/index.html
+++ b/contributor-guide/index.html
@@ -116,7 +116,7 @@ $ git push origin --delete issueNo
<pre><code class="hljs css language-sh">$ git config --global user.name <span
class="hljs-string">"username"</span>
$ git config --global user.email <span class="hljs-string">"mail
address"</span>
</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/subscribe-guide"><span class="arrow-prev">←
</span><span>Subscribe Guide</span></a><a class="docs-next button"
href="/committer-guide"><span>Committer Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#submit-an-issue">Submit an
issue</a></li><li>< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/subscribe-guide"><span class="arrow-prev">←
</span><span>Subscribe Guide</span></a><a class="docs-next button"
href="/committer-guide"><span>Committer Guide</span><span class="arrow-next">
→</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#submit-an-issue">Submit an
issue</a></li><li><a [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/downloads.html b/downloads.html
index 9e4d73c..cb8fb48 100644
--- a/downloads.html
+++ b/downloads.html
@@ -32,7 +32,7 @@
<tr><th>Version</th><th>Release Date</th><th>Downloads</th></tr>
</thead>
<tbody>
-<tr><td>0.1.0-rc2</td><td>24/12/2020</td><td><a
href="https://www.apache.org/dyn/closer.cgi/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz">source</a>
(<a
href="https://downloads.apache.org/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.asc">asc</a>
<a
href="https://downloads.apache.org/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.sha512"
[...]
+<tr><td>0.2.0</td><td>17/1/2021</td><td><a
href="https://www.apache.org/dyn/closer.cgi/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz">source</a>
(<a
href="https://downloads.apache.org/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.asc">asc</a>
<a
href="https://downloads.apache.org/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.sha512">sha512</a>)</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="all-releases"></a><a
href="#all-releases" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
@@ -62,7 +62,7 @@ or
pgp apache-apisix-********.asc
</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#apisix">APISIX™</a></li><li><a href="#apisix-dashboard">APISIX™
Dashboard</a></li><li><a href="#apisix-ingress-controller">APISIX™ Ingress
Controller</a></li><li><a href="#all-releases">All Releases</a></li><li><a
href="#verify-the-releases">Verify the releases</a></li></ul></nav>< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#apisix">APISIX™</a></li><li><a href="#apisix-dashboard">APISIX™
Dashboard</a></li><li><a href="#apisix-ingress-controller">APISIX™ Ingress
Controller</a></li><li><a href="#all-releases">All Releases</a></li><li><a
href="#verify-the-releases">Verify the releases</a></li></ul></nav></ [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/downloads/index.html b/downloads/index.html
index 9e4d73c..cb8fb48 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -32,7 +32,7 @@
<tr><th>Version</th><th>Release Date</th><th>Downloads</th></tr>
</thead>
<tbody>
-<tr><td>0.1.0-rc2</td><td>24/12/2020</td><td><a
href="https://www.apache.org/dyn/closer.cgi/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz">source</a>
(<a
href="https://downloads.apache.org/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.asc">asc</a>
<a
href="https://downloads.apache.org/apisix/apisix-ingress-controller-0.1.0-rc2/apache-apisix-ingress-controller-0.1.0-rc2-src.tar.gz.sha512"
[...]
+<tr><td>0.2.0</td><td>17/1/2021</td><td><a
href="https://www.apache.org/dyn/closer.cgi/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz">source</a>
(<a
href="https://downloads.apache.org/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.asc">asc</a>
<a
href="https://downloads.apache.org/apisix/ingress-controller/0.2.0/apache-apisix-ingress-controller-0.2.0-src.tgz.sha512">sha512</a>)</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="all-releases"></a><a
href="#all-releases" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
@@ -62,7 +62,7 @@ or
pgp apache-apisix-********.asc
</code></pre>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#apisix">APISIX™</a></li><li><a href="#apisix-dashboard">APISIX™
Dashboard</a></li><li><a href="#apisix-ingress-controller">APISIX™ Ingress
Controller</a></li><li><a href="#all-releases">All Releases</a></li><li><a
href="#verify-the-releases">Verify the releases</a></li></ul></nav>< [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#apisix">APISIX™</a></li><li><a href="#apisix-dashboard">APISIX™
Dashboard</a></li><li><a href="#apisix-ingress-controller">APISIX™ Ingress
Controller</a></li><li><a href="#all-releases">All Releases</a></li><li><a
href="#verify-the-releases">Verify the releases</a></li></ul></nav></ [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/release-guide.html b/release-guide.html
index c53dac6..6c1ce5f 100644
--- a/release-guide.html
+++ b/release-guide.html
@@ -256,7 +256,7 @@ Committed revision 37435.
<p>The <a href="https://github.com/apache/apisix-website">Download</a> page
contains links for Apache APISIX, Apache APISIX Dashboard, and other sources,
and we need to update its contents <a
href="https://github.com/apache/apisix-website/blob/master/docs/download.md">here</a>.</p>
<h3><a class="anchor" aria-hidden="true" id="send-announce"></a><a
href="#send-announce" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
<p>Click <a
href="https://lists.apache.org/thread.html/r6e90ffb7964314605c082ac3ae204303ad94f0f71087542c33fcd7bf%40%3Cdev.apisix.apache.org%3E">here</a>
to view the reference email send announce email to <a
href="mailto:[email protected]">[email protected]</a> and <a
href="mailto:[email protected]">[email protected]</a></p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/2fa"><span class="arrow-prev">←
</span><span>2FA</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#release-flow">Release Flow</a><ul
class="toc-headings"><li><a href="#planning-phase">Planning
Phase</a></li><li><a href="#development-phase">Development Phase</a></li><li><a
href="#release [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/2fa"><span class="arrow-prev">←
</span><span>2FA</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#release-flow">Release Flow</a><ul
class="toc-headings"><li><a href="#planning-phase">Planning
Phase</a></li><li><a href="#development-phase">Development Phase</a></li><li><a
href="#release- [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/release-guide/index.html b/release-guide/index.html
index c53dac6..6c1ce5f 100644
--- a/release-guide/index.html
+++ b/release-guide/index.html
@@ -256,7 +256,7 @@ Committed revision 37435.
<p>The <a href="https://github.com/apache/apisix-website">Download</a> page
contains links for Apache APISIX, Apache APISIX Dashboard, and other sources,
and we need to update its contents <a
href="https://github.com/apache/apisix-website/blob/master/docs/download.md">here</a>.</p>
<h3><a class="anchor" aria-hidden="true" id="send-announce"></a><a
href="#send-announce" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
<p>Click <a
href="https://lists.apache.org/thread.html/r6e90ffb7964314605c082ac3ae204303ad94f0f71087542c33fcd7bf%40%3Cdev.apisix.apache.org%3E">here</a>
to view the reference email send announce email to <a
href="mailto:[email protected]">[email protected]</a> and <a
href="mailto:[email protected]">[email protected]</a></p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/2fa"><span class="arrow-prev">←
</span><span>2FA</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#release-flow">Release Flow</a><ul
class="toc-headings"><li><a href="#planning-phase">Planning
Phase</a></li><li><a href="#development-phase">Development Phase</a></li><li><a
href="#release [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/2fa"><span class="arrow-prev">←
</span><span>2FA</span></a></div></div></div><nav class="onPageNav"><ul
class="toc-headings"><li><a href="#release-flow">Release Flow</a><ul
class="toc-headings"><li><a href="#planning-phase">Planning
Phase</a></li><li><a href="#development-phase">Development Phase</a></li><li><a
href="#release- [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/security.html b/security.html
index 3579108..8bcc615 100644
--- a/security.html
+++ b/security.html
@@ -63,7 +63,7 @@
</script></nav></div><div class="container mainContainer
docsContainer"><div class="wrapper"><div class="post"><header
class="postHeader"><h1 id="__docusaurus"
class="postHeaderTitle">Security</h1></header><article><div><span><p>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.</p>
<p>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 <a
href="mailto:[email protected]">[email protected]</a>. 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 replicat [...]
<p>Please pay attention to report the security issue on the security email
before disclosing it on public domain.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-next
button" href="/subscribe-guide"><span>Subscribe Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="nav-home"></a><div><h5>ASF</h5><a
href="https://www.apache.org/">Foundation</a><a href="https://www.apache.o [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-next
button" href="/subscribe-guide"><span>Subscribe Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="nav-home"></a><div><h5>ASF</h5><a
href="https://www.apache.org/">Foundation</a><a href="https://www.apache.or
[...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/security/index.html b/security/index.html
index 3579108..8bcc615 100644
--- a/security/index.html
+++ b/security/index.html
@@ -63,7 +63,7 @@
</script></nav></div><div class="container mainContainer
docsContainer"><div class="wrapper"><div class="post"><header
class="postHeader"><h1 id="__docusaurus"
class="postHeaderTitle">Security</h1></header><article><div><span><p>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.</p>
<p>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 <a
href="mailto:[email protected]">[email protected]</a>. 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 replicat [...]
<p>Please pay attention to report the security issue on the security email
before disclosing it on public domain.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-next
button" href="/subscribe-guide"><span>Subscribe Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="nav-home"></a><div><h5>ASF</h5><a
href="https://www.apache.org/">Foundation</a><a href="https://www.apache.o [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-next
button" href="/subscribe-guide"><span>Subscribe Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="nav-home"></a><div><h5>ASF</h5><a
href="https://www.apache.org/">Foundation</a><a href="https://www.apache.or
[...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/subscribe-guide.html b/subscribe-guide.html
index 84258ca..5f1c027 100644
--- a/subscribe-guide.html
+++ b/subscribe-guide.html
@@ -67,7 +67,7 @@
<li><p>Receive the Welcome e-mail. After finishing the two steps above, an
e-mail with the subject of WELCOME to <a
href="mailto:[email protected]">[email protected]</a> will be sent to
your e-mail address. Until now, you have succeeded in subscribing Apache APISIX
mailing-list.</p></li>
<li><p>Until now, you can interact with community by your subscribed email or
track email conversations by Archived email list.</p></li>
</ol>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/security"><span class="arrow-prev">←
</span><span>Security</span></a><a class="docs-next button"
href="/contributor-guide"><span>Contributor Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class=" [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/security"><span class="arrow-prev">←
</span><span>Security</span></a><a class="docs-next button"
href="/contributor-guide"><span>Contributor Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="n [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/subscribe-guide/index.html b/subscribe-guide/index.html
index 84258ca..5f1c027 100644
--- a/subscribe-guide/index.html
+++ b/subscribe-guide/index.html
@@ -67,7 +67,7 @@
<li><p>Receive the Welcome e-mail. After finishing the two steps above, an
e-mail with the subject of WELCOME to <a
href="mailto:[email protected]">[email protected]</a> will be sent to
your e-mail address. Until now, you have succeeded in subscribing Apache APISIX
mailing-list.</p></li>
<li><p>Until now, you can interact with community by your subscribed email or
track email conversations by Archived email list.</p></li>
</ol>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/security"><span class="arrow-prev">←
</span><span>Security</span></a><a class="docs-next button"
href="/contributor-guide"><span>Contributor Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class=" [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"><a class="docs-prev
button" href="/security"><span class="arrow-prev">←
</span><span>Security</span></a><a class="docs-next button"
href="/contributor-guide"><span>Contributor Guide</span><span
class="arrow-next"> →</span></a></div></div></div><nav
class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section
class="sitemap"><a href="/" class="n [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/team.html b/team.html
index 5a53d96..a18dd0b 100644
--- a/team.html
+++ b/team.html
@@ -74,7 +74,7 @@
<h2><a class="anchor" aria-hidden="true" id="becoming-a-committer"></a><a
href="#becoming-a-committer" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
<p>The Apache APISIX community follows the Apache Community’s process on
accepting a new committer. After a contributor participates APISIX's community
actively, PMC and Committers will make decisions to invite the contributor join
Committers and PMC.</p>
<p>You can read <a href="/contributor-guide">Contributor Guide</a> to
participate the community, and can get more information on <a
href="/committer-guide">Committer Guide</a>.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#members">Members</a><ul class="toc-headings"><li><a
href="#pmc">PMC</a></li><li><a
href="#committer">Committer</a></li></ul></li><li><a
href="#mentors">Mentors</a></li><li><a
href="#contributors">Contributors</a></li><li><a
href="#becoming-a-committer">Becoming a Committer</a></li> [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#members">Members</a><ul class="toc-headings"><li><a
href="#pmc">PMC</a></li><li><a
href="#committer">Committer</a></li></ul></li><li><a
href="#mentors">Mentors</a></li><li><a
href="#contributors">Contributors</a></li><li><a
href="#becoming-a-committer">Becoming a Committer</a></li>< [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
diff --git a/team/index.html b/team/index.html
index 5a53d96..a18dd0b 100644
--- a/team/index.html
+++ b/team/index.html
@@ -74,7 +74,7 @@
<h2><a class="anchor" aria-hidden="true" id="becoming-a-committer"></a><a
href="#becoming-a-committer" aria-hidden="true" class="hash-link"><svg
class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0
0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5
0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2
3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4
9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
<p>The Apache APISIX community follows the Apache Community’s process on
accepting a new committer. After a contributor participates APISIX's community
actively, PMC and Committers will make decisions to invite the contributor join
Committers and PMC.</p>
<p>You can read <a href="/contributor-guide">Contributor Guide</a> to
participate the community, and can get more information on <a
href="/committer-guide">Committer Guide</a>.</p>
-</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/17/2021 by 琚致远</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#members">Members</a><ul class="toc-headings"><li><a
href="#pmc">PMC</a></li><li><a
href="#committer">Committer</a></li></ul></li><li><a
href="#mentors">Mentors</a></li><li><a
href="#contributors">Contributors</a></li><li><a
href="#becoming-a-committer">Becoming a Committer</a></li> [...]
+</span></div></article></div><div class="docLastUpdate"><em>Last updated on
1/18/2021 by kv</em></div><div class="docs-prevnext"></div></div></div><nav
class="onPageNav"><ul class="toc-headings"><li><a
href="#members">Members</a><ul class="toc-headings"><li><a
href="#pmc">PMC</a></li><li><a
href="#committer">Committer</a></li></ul></li><li><a
href="#mentors">Mentors</a></li><li><a
href="#contributors">Contributors</a></li><li><a
href="#becoming-a-committer">Becoming a Committer</a></li>< [...]
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;