This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/asf-site by this push:
new a5d50f0b RATIS-1568. Add a link to the new ASF privacy policy. (#650)
a5d50f0b is described below
commit a5d50f0b0f0ceabc9dfeaf6a2f1e8802a0b45d63
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Fri May 20 14:06:14 2022 +0800
RATIS-1568. Add a link to the new ASF privacy policy. (#650)
---
categories.html | 1 +
categories/page/1.html | 11 ++-
community.html | 1 +
downloads.html | 1 +
getting_started.html | 33 ++++-----
index.html | 35 ++++-----
lifecycle.svg | 154 ++++++++++++++++++++--------------------
logservice.html | 57 +++++++--------
logservice/index.html | 1 +
logservice/lifecycle.html | 1 +
logservice/security.html | 57 +++++++--------
logservice/testing.html | 19 ++---
logservice/testing/docker.html | 19 ++---
logservice/testing/index.html | 1 +
logservice/testing/page/1.html | 11 ++-
logservice/testing/vagrant.html | 1 +
post.html | 1 +
post/0.1.0-alpha.html | 1 +
post/0.2.0.html | 1 +
post/0.3.0.html | 1 +
post/0.4.0.html | 1 +
post/0.5.0.html | 1 +
post/1.0.0.html | 1 +
post/2.0.0.html | 1 +
post/2.1.0.html | 1 +
post/2.2.0.html | 1 +
post/2.3.0.html | 1 +
post/page/1.html | 11 ++-
source.html | 1 +
tags.html | 1 +
tags/page/1.html | 11 ++-
31 files changed, 250 insertions(+), 188 deletions(-)
diff --git a/categories.html b/categories.html
index 3365679b..49009d4b 100644
--- a/categories.html
+++ b/categories.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/categories/page/1.html b/categories/page/1.html
index 2bd3947b..82710b79 100644
--- a/categories/page/1.html
+++ b/categories/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE
html><html><head><title>https://ratis.apache.org/categories.html</title><link
rel="canonical" href="https://ratis.apache.org/categories.html"/><meta
name="robots" content="noindex"><meta charset="utf-8" /><meta
http-equiv="refresh" content="0; url=https://ratis.apache.org/categories.html"
/></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+ <head>
+ <title>https://ratis.apache.org/categories.html</title>
+ <link rel="canonical" href="https://ratis.apache.org/categories.html">
+ <meta name="robots" content="noindex">
+ <meta charset="utf-8">
+ <meta http-equiv="refresh" content="0;
url=https://ratis.apache.org/categories.html">
+ </head>
+</html>
diff --git a/community.html b/community.html
index d81e0cb8..0a660bf4 100644
--- a/community.html
+++ b/community.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/downloads.html b/downloads.html
index b30b8ecc..740f50ce 100644
--- a/downloads.html
+++ b/downloads.html
@@ -43,6 +43,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/getting_started.html b/getting_started.html
index b2230bb3..4d9764d5 100644
--- a/getting_started.html
+++ b/getting_started.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -117,23 +118,23 @@
<a
href="https://github.com/apache/ratis/blob/master/ratis-examples/">ratis-examples</a>
sub-project.</p>
<h3 id="maven-usage">Maven usage</h3>
<p>To use in our project you can access the latest binaries from maven
central:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-server<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-server<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
<p>You also need to include <em>one</em> of the transports:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-grpc<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"> <span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-netty<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-hadoop<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-grpc<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span> <span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-netty<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-hadoop<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
<p>Please note that Apache Hadoop dependencies are shaded, so it’s safe
to use hadoop transport with different versions of Hadoop.</p>
</div>
diff --git a/index.html b/index.html
index 0011ed50..610cc12c 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
<html>
<head>
- <meta name="generator" content="Hugo 0.91.0" />
+ <meta name="generator" content="Hugo 0.99.1" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -43,6 +43,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -201,23 +202,23 @@
<a
href="https://github.com/apache/ratis/blob/master/ratis-examples/">ratis-examples</a>
sub-project.</p>
<h3 id="maven-usage">Maven usage</h3>
<p>To use in our project you can access the latest binaries from maven
central:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-server<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-server<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
<p>You also need to include <em>one</em> of the transports:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-grpc<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"> <span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-netty<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-xml" data-lang="xml"><span
style="color:#f92672"><dependency></span>
- <span style="color:#f92672"><artifactId></span>ratis-hadoop<span
style="color:#f92672"></artifactId></span>
- <span style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
-<span style="color:#f92672"></dependency></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-grpc<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span> <span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-netty<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-xml" data-lang="xml"><span style="display:flex;"><span><span
style="color:#f92672"><dependency></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><artifactId></span>ratis-hadoop<span
style="color:#f92672"></artifactId></span>
+</span></span><span style="display:flex;"><span> <span
style="color:#f92672"><groupId></span>org.apache.ratis<span
style="color:#f92672"></groupId></span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672"></dependency></span></span></span></code></pre></div>
<p>Please note that Apache Hadoop dependencies are shaded, so it’s safe
to use hadoop transport with different versions of Hadoop.</p>
diff --git a/lifecycle.svg b/lifecycle.svg
index 15080277..7dad98b0 100644
--- a/lifecycle.svg
+++ b/lifecycle.svg
@@ -14,71 +14,71 @@
See the License for the specific language governing permissions and
limitations under the License. See accompanying LICENSE file.
-->
-<!-- Generated by graphviz version 2.47.3 (0)
+<!-- Generated by graphviz version 3.0.0 (20220226.1711)
-->
<!-- Title: LogServiceStates Pages: 1 -->
-<svg width="357pt" height="634pt"
- viewBox="0.00 0.00 357.00 634.00" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 630)">
+<svg width="319pt" height="623pt"
+ viewBox="0.00 0.00 319.00 623.00" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 619)">
<title>LogServiceStates</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-630 353,-630 353,4
-4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-619 315,-619 315,4
-4,4"/>
<!-- write -->
<g id="node1" class="node">
<title>write</title>
-<polygon fill="grey" stroke="transparent" points="264.5,-626 193.5,-626
193.5,-590 264.5,-590 264.5,-626"/>
-<text text-anchor="middle" x="229" y="-604.2" font-family="Times,serif"
font-size="16.00">write()</text>
+<polygon fill="grey" stroke="transparent" points="238.5,-615 179.5,-615
179.5,-579 238.5,-579 238.5,-615"/>
+<text text-anchor="middle" x="209" y="-593.2" font-family="Times,serif"
font-size="16.00">write()</text>
</g>
<!-- OPEN -->
<g id="node7" class="node">
<title>OPEN</title>
-<polygon fill="none" stroke="black" points="218,-509 152,-483 218,-457
284,-483 218,-509"/>
-<polyline fill="none" stroke="black" points="163.16,-487.4 163.16,-478.6 "/>
-<polyline fill="none" stroke="black" points="206.84,-461.4 229.16,-461.4 "/>
-<polyline fill="none" stroke="black" points="272.84,-478.6 272.84,-487.4 "/>
-<polyline fill="none" stroke="black" points="229.16,-504.6 206.84,-504.6 "/>
-<text text-anchor="middle" x="218" y="-479.2" font-family="Times,serif"
font-size="16.00">OPEN</text>
+<polygon fill="none" stroke="black" points="204,-498 146,-472 204,-446
262,-472 204,-498"/>
+<polyline fill="none" stroke="black" points="156.95,-476.91 156.95,-467.09 "/>
+<polyline fill="none" stroke="black" points="193.05,-450.91 214.95,-450.91 "/>
+<polyline fill="none" stroke="black" points="251.05,-467.09 251.05,-476.91 "/>
+<polyline fill="none" stroke="black" points="214.95,-493.09 193.05,-493.09 "/>
+<text text-anchor="middle" x="204" y="-468.2" font-family="Times,serif"
font-size="16.00">OPEN</text>
</g>
<!-- write->OPEN -->
<g id="edge8" class="edge">
<title>write->OPEN</title>
-<path fill="none" stroke="black" d="M222.63,-589.9C218.96,-571.35
215.85,-541.27 214.93,-517.9"/>
-<polygon fill="black" stroke="black" points="218.42,-517.6 214.66,-507.7
211.42,-517.78 218.42,-517.6"/>
+<path fill="none" stroke="black" d="M203.46,-578.9C200.68,-560.24
199.03,-529.9 199.28,-506.47"/>
+<polygon fill="black" stroke="black" points="202.78,-506.33 199.52,-496.25
195.78,-506.17 202.78,-506.33"/>
</g>
<!-- read1 -->
<g id="node2" class="node">
<title>read1</title>
-<polygon fill="grey" stroke="transparent" points="349,-626 283,-626 283,-590
349,-590 349,-626"/>
-<text text-anchor="middle" x="316" y="-604.2" font-family="Times,serif"
font-size="16.00">read()</text>
+<polygon fill="grey" stroke="transparent" points="311,-615 257,-615 257,-579
311,-579 311,-615"/>
+<text text-anchor="middle" x="284" y="-593.2" font-family="Times,serif"
font-size="16.00">read()</text>
</g>
<!-- read1->OPEN -->
<g id="edge9" class="edge">
<title>read1->OPEN</title>
-<path fill="none" stroke="black" d="M297.53,-589.9C279.54,-570.03
252.83,-536.91 235.28,-513"/>
-<polygon fill="black" stroke="black" points="237.94,-510.71 229.25,-504.65
232.26,-514.81 237.94,-510.71"/>
+<path fill="none" stroke="black" d="M268.03,-578.9C253.2,-559.35 231.8,-526.98
217.72,-503.17"/>
+<polygon fill="black" stroke="black" points="220.75,-501.41 212.71,-494.5
214.69,-504.91 220.75,-501.41"/>
</g>
<!-- read2 -->
<g id="node3" class="node">
<title>read2</title>
-<polygon fill="grey" stroke="transparent" points="66,-626 0,-626 0,-590
66,-590 66,-626"/>
-<text text-anchor="middle" x="33" y="-604.2" font-family="Times,serif"
font-size="16.00">read()</text>
+<polygon fill="grey" stroke="transparent" points="54,-615 0,-615 0,-579
54,-579 54,-615"/>
+<text text-anchor="middle" x="27" y="-593.2" font-family="Times,serif"
font-size="16.00">read()</text>
</g>
<!-- CLOSED -->
<g id="node9" class="node">
<title>CLOSED</title>
-<polygon fill="none" stroke="black" points="98,-391 10,-391 10,-355 98,-355
98,-391"/>
-<text text-anchor="middle" x="54" y="-369.2" font-family="Times,serif"
font-size="16.00">CLOSED</text>
+<polygon fill="none" stroke="black" points="87,-380 9,-380 9,-344 87,-344
87,-380"/>
+<text text-anchor="middle" x="48" y="-358.2" font-family="Times,serif"
font-size="16.00">CLOSED</text>
</g>
<!-- read2->CLOSED -->
<g id="edge12" class="edge">
<title>read2->CLOSED</title>
-<path fill="none" stroke="black" d="M30.81,-589.87C30.68,-549.81 39.44,-449.75
47.02,-401.23"/>
-<polygon fill="black" stroke="black" points="50.51,-401.6 48.71,-391.16
43.6,-400.44 50.51,-401.6"/>
+<path fill="none" stroke="black" d="M24.81,-578.87C24.68,-538.81 33.44,-438.75
41.02,-390.23"/>
+<polygon fill="black" stroke="black" points="44.51,-390.6 42.71,-380.16
37.6,-389.44 44.51,-390.6"/>
</g>
<!-- export -->
<g id="node4" class="node">
<title>export</title>
-<polygon fill="grey" stroke="transparent" points="175,-626 93,-626 93,-590
175,-590 175,-626"/>
-<text text-anchor="middle" x="134" y="-604.2" font-family="Times,serif"
font-size="16.00">export()</text>
+<polygon fill="grey" stroke="transparent" points="161,-615 93,-615 93,-579
161,-579 161,-615"/>
+<text text-anchor="middle" x="127" y="-593.2" font-family="Times,serif"
font-size="16.00">export()</text>
</g>
<!-- external2 -->
<g id="node6" class="node">
@@ -87,17 +87,17 @@
<!-- export->external2 -->
<g id="edge16" class="edge">
<title>export->external2</title>
-<path fill="none" stroke="black" stroke-dasharray="1,5"
d="M103.25,-589.94C97.1,-585 91.48,-579.01 88,-572 78.61,-553.05 81.93,-529.02
87,-510.86"/>
-<polygon fill="black" stroke="black" points="90.38,-511.77 90.01,-501.18
83.7,-509.69 90.38,-511.77"/>
-<text text-anchor="middle" x="125.5" y="-560.8" font-family="Times,serif"
font-size="14.00">Writes</text>
-<text text-anchor="middle" x="125.5" y="-545.8" font-family="Times,serif"
font-size="14.00">Data</text>
-<text text-anchor="middle" x="125.5" y="-530.8" font-family="Times,serif"
font-size="14.00">Externally</text>
+<path fill="none" stroke="black" stroke-dasharray="1,5"
d="M99.96,-578.76C94.32,-573.77 89.14,-567.8 86,-561 77.21,-541.95
79.27,-518.07 83.08,-499.99"/>
+<polygon fill="black" stroke="black" points="86.52,-500.64 85.45,-490.1
79.72,-499 86.52,-500.64"/>
+<text text-anchor="middle" x="114.5" y="-549.8" font-family="Times,serif"
font-size="14.00">Writes</text>
+<text text-anchor="middle" x="114.5" y="-534.8" font-family="Times,serif"
font-size="14.00">Data</text>
+<text text-anchor="middle" x="114.5" y="-519.8" font-family="Times,serif"
font-size="14.00">Externally</text>
</g>
<!-- export->OPEN -->
<g id="edge10" class="edge">
<title>export->OPEN</title>
-<path fill="none" stroke="black" d="M140.37,-589.92C144.6,-584.33
149.66,-578.01 154,-572 168.28,-552.22 182.84,-528.75 194.72,-511.02"/>
-<polygon fill="black" stroke="black" points="197.91,-512.55 200.67,-502.32
192.14,-508.6 197.91,-512.55"/>
+<path fill="none" stroke="black" d="M132.86,-578.9C143.51,-558.32
165.01,-523.55 181.75,-499.49"/>
+<polygon fill="black" stroke="black" points="184.73,-501.34 187.68,-491.16
179.03,-497.28 184.73,-501.34"/>
</g>
<!-- external1 -->
<g id="node5" class="node">
@@ -106,101 +106,101 @@
<!-- OPEN->write -->
<g id="edge5" class="edge">
<title>OPEN->write</title>
-<path fill="none" stroke="black" d="M225.35,-506.37C228.94,-527.04
231.81,-557.78 232.28,-579.85"/>
-<polygon fill="black" stroke="black" points="228.78,-579.91 232.32,-589.9
235.78,-579.89 228.78,-579.91"/>
+<path fill="none" stroke="black" d="M210.26,-495.37C212.84,-516.04
214.21,-546.78 213.61,-568.85"/>
+<polygon fill="black" stroke="black" points="210.11,-568.75 213.15,-578.9
217.1,-569.07 210.11,-568.75"/>
</g>
<!-- OPEN->read1 -->
<g id="edge6" class="edge">
<title>OPEN->read1</title>
-<path fill="none" stroke="black" d="M237.06,-501.75C255.98,-522.74
284.16,-557.83 301.4,-581.67"/>
-<polygon fill="black" stroke="black" points="298.59,-583.75 307.22,-589.9
304.3,-579.71 298.59,-583.75"/>
+<path fill="none" stroke="black" d="M220.46,-490.75C236.18,-511.56
258.95,-546.22 272.74,-570.04"/>
+<polygon fill="black" stroke="black" points="269.77,-571.9 277.72,-578.9
275.87,-568.47 269.77,-571.9"/>
</g>
<!-- OPEN->export -->
<g id="edge7" class="edge">
<title>OPEN->export</title>
-<path fill="none" stroke="black" d="M212.12,-506.97C203.12,-525.05
187.4,-550.67 172,-572 169.56,-575.38 166.89,-578.86 164.11,-582.25"/>
-<polygon fill="black" stroke="black" points="161.37,-580.06 157.48,-589.92
166.67,-584.64 161.37,-580.06"/>
+<path fill="none" stroke="black" d="M195.81,-494.5C184.4,-515.69
164.25,-548.06 148.54,-570.52"/>
+<polygon fill="black" stroke="black" points="145.52,-568.73 142.55,-578.9
151.22,-572.8 145.52,-568.73"/>
</g>
<!-- OPEN->CLOSED -->
<g id="edge1" class="edge">
<title>OPEN->CLOSED</title>
-<path fill="none" stroke="black" d="M208.25,-460.51C199.79,-444.16
186.07,-422.29 168,-409 150.44,-396.09 128.05,-387.88 107.76,-382.68"/>
-<polygon fill="black" stroke="black" points="108.54,-379.27 98,-380.37
106.92,-386.08 108.54,-379.27"/>
-<text text-anchor="middle" x="209" y="-427.8" font-family="Times,serif"
font-size="14.00">API</text>
-<text text-anchor="middle" x="209" y="-412.8" font-family="Times,serif"
font-size="14.00">Call</text>
+<path fill="none" stroke="black" d="M193.92,-450.31C184.99,-433.98
170.5,-411.72 152,-398 135.92,-386.07 115.51,-378.04 97.04,-372.71"/>
+<polygon fill="black" stroke="black" points="97.87,-369.31 87.3,-370.09
96.05,-376.07 97.87,-369.31"/>
+<text text-anchor="middle" x="189.5" y="-416.8" font-family="Times,serif"
font-size="14.00">API</text>
+<text text-anchor="middle" x="189.5" y="-401.8" font-family="Times,serif"
font-size="14.00">Call</text>
</g>
<!-- OPEN->CLOSED -->
<g id="edge2" class="edge">
<title>OPEN->CLOSED</title>
-<path fill="none" stroke="black" d="M178.67,-472.46C155.96,-465.65
127.69,-454.86 106,-439 91.59,-428.47 78.98,-412.97 69.79,-399.75"/>
-<polygon fill="black" stroke="black" points="72.45,-397.43 63.99,-391.05
66.63,-401.31 72.45,-397.43"/>
-<text text-anchor="middle" x="135" y="-427.8" font-family="Times,serif"
font-size="14.00">Quorum</text>
-<text text-anchor="middle" x="135" y="-412.8" font-family="Times,serif"
font-size="14.00">Failure</text>
+<path fill="none" stroke="black" d="M169.73,-461.15C148.86,-454.07
122.37,-443.11 102,-428 87.41,-417.17 74.29,-401.61 64.64,-388.42"/>
+<polygon fill="black" stroke="black" points="67.45,-386.32 58.82,-380.17
61.73,-390.36 67.45,-386.32"/>
+<text text-anchor="middle" x="125" y="-416.8" font-family="Times,serif"
font-size="14.00">Quorum</text>
+<text text-anchor="middle" x="125" y="-401.8" font-family="Times,serif"
font-size="14.00">Failure</text>
</g>
<!-- DELETED -->
<g id="node8" class="node">
<title>DELETED</title>
-<polygon fill="none" stroke="black" points="99.5,-99 0.5,-99 0.5,0 99.5,0
99.5,-99"/>
-<polyline fill="none" stroke="black" points="12.5,-99 0.5,-87 "/>
-<polyline fill="none" stroke="black" points="0.5,-12 12.5,0 "/>
-<polyline fill="none" stroke="black" points="87.5,0 99.5,-12 "/>
-<polyline fill="none" stroke="black" points="99.5,-87 87.5,-99 "/>
-<text text-anchor="middle" x="50" y="-45.7" font-family="Times,serif"
font-size="16.00">DELETED</text>
+<polygon fill="none" stroke="black" points="88,-88 0,-88 0,0 88,0 88,-88"/>
+<polyline fill="none" stroke="black" points="12,-88 0,-76 "/>
+<polyline fill="none" stroke="black" points="0,-12 12,0 "/>
+<polyline fill="none" stroke="black" points="76,0 88,-12 "/>
+<polyline fill="none" stroke="black" points="88,-76 76,-88 "/>
+<text text-anchor="middle" x="44" y="-40.2" font-family="Times,serif"
font-size="16.00">DELETED</text>
</g>
<!-- CLOSED->read2 -->
<g id="edge11" class="edge">
<title>CLOSED->read2</title>
-<path fill="none" stroke="black" d="M56.19,-391.16C56.31,-431.24 47.56,-531.3
39.98,-579.8"/>
-<polygon fill="black" stroke="black" points="36.49,-579.42 38.28,-589.87
43.39,-580.59 36.49,-579.42"/>
+<path fill="none" stroke="black" d="M50.19,-380.16C50.31,-420.24 41.56,-520.3
33.98,-568.8"/>
+<polygon fill="black" stroke="black" points="30.49,-568.42 32.28,-578.87
37.39,-569.59 30.49,-568.42"/>
</g>
<!-- CLOSED->DELETED -->
<g id="edge3" class="edge">
<title>CLOSED->DELETED</title>
-<path fill="none" stroke="black" d="M53.78,-354.71C53.22,-309.19 51.67,-184.33
50.73,-109.47"/>
-<polygon fill="black" stroke="black" points="54.23,-109.21 50.61,-99.26
47.23,-109.3 54.23,-109.21"/>
+<path fill="none" stroke="black" d="M47.78,-343.56C47.2,-297.5 45.6,-171.16
44.68,-98.44"/>
+<polygon fill="black" stroke="black" points="48.17,-98.07 44.55,-88.11
41.17,-98.16 48.17,-98.07"/>
</g>
<!-- ARCHIVING -->
<g id="node10" class="node">
<title>ARCHIVING</title>
-<polygon fill="none" stroke="black" points="182,-289 66,-289 66,-253 182,-253
182,-289"/>
-<text text-anchor="middle" x="124" y="-267.2" font-family="Times,serif"
font-size="16.00">ARCHIVING</text>
+<polygon fill="none" stroke="black" points="164,-278 60,-278 60,-242 164,-242
164,-278"/>
+<text text-anchor="middle" x="112" y="-256.2" font-family="Times,serif"
font-size="16.00">ARCHIVING</text>
</g>
<!-- CLOSED->ARCHIVING -->
<g id="edge4" class="edge">
<title>CLOSED->ARCHIVING</title>
-<path fill="none" stroke="black" d="M66.19,-354.58C77.23,-338.81 93.64,-315.37
106.16,-297.49"/>
-<polygon fill="black" stroke="black" points="109.08,-299.42 111.95,-289.22
103.34,-295.4 109.08,-299.42"/>
-<text text-anchor="middle" x="114" y="-325.8" font-family="Times,serif"
font-size="14.00">API</text>
-<text text-anchor="middle" x="114" y="-310.8" font-family="Times,serif"
font-size="14.00">Call</text>
+<path fill="none" stroke="black" d="M59.15,-343.58C69.15,-327.95 83.97,-304.8
95.37,-286.98"/>
+<polygon fill="black" stroke="black" points="98.54,-288.53 100.98,-278.22
92.64,-284.76 98.54,-288.53"/>
+<text text-anchor="middle" x="101.5" y="-314.8" font-family="Times,serif"
font-size="14.00">API</text>
+<text text-anchor="middle" x="101.5" y="-299.8" font-family="Times,serif"
font-size="14.00">Call</text>
</g>
<!-- ARCHIVING->external1 -->
<g id="edge15" class="edge">
<title>ARCHIVING->external1</title>
-<path fill="none" stroke="black" stroke-dasharray="1,5"
d="M179.68,-252.96C188.41,-248.28 196.64,-242.39 203,-235 215.49,-220.5
220.94,-199.49 223.3,-182.65"/>
-<polygon fill="black" stroke="black" points="226.82,-182.61 224.44,-172.29
219.86,-181.84 226.82,-182.61"/>
-<text text-anchor="middle" x="258.5" y="-223.8" font-family="Times,serif"
font-size="14.00">Writes</text>
-<text text-anchor="middle" x="258.5" y="-208.8" font-family="Times,serif"
font-size="14.00">Data</text>
-<text text-anchor="middle" x="258.5" y="-193.8" font-family="Times,serif"
font-size="14.00">Externally</text>
+<path fill="none" stroke="black" stroke-dasharray="1,5"
d="M158.93,-241.95C167.2,-237.2 175.05,-231.28 181,-224 193.11,-209.17
198.57,-188.18 201.03,-171.42"/>
+<polygon fill="black" stroke="black" points="204.55,-171.47 202.25,-161.13
197.6,-170.65 204.55,-171.47"/>
+<text text-anchor="middle" x="227.5" y="-212.8" font-family="Times,serif"
font-size="14.00">Writes</text>
+<text text-anchor="middle" x="227.5" y="-197.8" font-family="Times,serif"
font-size="14.00">Data</text>
+<text text-anchor="middle" x="227.5" y="-182.8" font-family="Times,serif"
font-size="14.00">Externally</text>
</g>
<!-- ARCHIVED -->
<g id="node11" class="node">
<title>ARCHIVED</title>
-<polygon fill="none" stroke="black" points="174,-172 66,-172 66,-136 174,-136
174,-172"/>
-<text text-anchor="middle" x="120" y="-150.2" font-family="Times,serif"
font-size="16.00">ARCHIVED</text>
+<polygon fill="none" stroke="black" points="158,-161 60,-161 60,-125 158,-125
158,-161"/>
+<text text-anchor="middle" x="109" y="-139.2" font-family="Times,serif"
font-size="16.00">ARCHIVED</text>
</g>
<!-- ARCHIVING->ARCHIVED -->
<g id="edge13" class="edge">
<title>ARCHIVING->ARCHIVED</title>
-<path fill="none" stroke="black" d="M122.29,-252.93C121.78,-247.23
121.29,-240.85 121,-235 120.15,-217.58 119.89,-198.01 119.85,-182.59"/>
-<polygon fill="black" stroke="black" points="123.35,-182.18 119.85,-172.18
116.35,-182.18 123.35,-182.18"/>
-<text text-anchor="middle" x="162" y="-216.3" font-family="Times,serif"
font-size="14.00">On</text>
-<text text-anchor="middle" x="162" y="-201.3" font-family="Times,serif"
font-size="14.00">Completion</text>
+<path fill="none" stroke="black" d="M111.54,-241.53C111.06,-222.94
110.28,-193.24 109.72,-171.5"/>
+<polygon fill="black" stroke="black" points="113.21,-171.16 109.45,-161.25
106.21,-171.34 113.21,-171.16"/>
+<text text-anchor="middle" x="144.5" y="-205.3" font-family="Times,serif"
font-size="14.00">On</text>
+<text text-anchor="middle" x="144.5" y="-190.3" font-family="Times,serif"
font-size="14.00">Completion</text>
</g>
<!-- ARCHIVED->DELETED -->
<g id="edge14" class="edge">
<title>ARCHIVED->DELETED</title>
-<path fill="none" stroke="black" d="M108.13,-135.61C102.76,-127.76
96.09,-117.98 89.19,-107.89"/>
-<polygon fill="black" stroke="black" points="91.9,-105.65 83.37,-99.37
86.12,-109.6 91.9,-105.65"/>
+<path fill="none" stroke="black" d="M97.38,-124.66C92.02,-116.65 85.34,-106.69
78.54,-96.54"/>
+<polygon fill="black" stroke="black" points="81.3,-94.38 72.83,-88.02
75.49,-98.27 81.3,-94.38"/>
</g>
</g>
</svg>
diff --git a/logservice.html b/logservice.html
index aac6acf1..f0367a00 100644
--- a/logservice.html
+++ b/logservice.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -241,34 +242,34 @@ but the private key is sensitive and should be protected
like a password.</p>
<p>Every component in HBase using the Ratis LogService would need to ensure
that each LogService StateMachine is
configured to use the server keystore and truststore. The LogService state
machines would need to constructed
with the appropriate configuration options to specify this TLS material:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-java" data-lang="java">RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server-private-key.pem"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server.crt"</span><span
style="color:#f92672">);</span>
-
-RaftServer<span style="color:#f92672">.</span><span
style="color:#a6e22e">Builder</span> builder <span
style="color:#f92672">=</span> RaftServer<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftServer server <span style="color:#f92672">=</span> builder<span
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span
style="color:#f92672">();</span>
-</code></pre></div><p>Clients to the StateMachine would construct a similar
configuration:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-java" data-lang="java">RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client-private-key.pem"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client.crt"</span><span
style="color:#f92672">);</span>
-
-RaftClient<span style="color:#f92672">.</span><span
style="color:#a6e22e">Builder</span> builder <span
style="color:#f92672">=</span> RaftClient<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftClient client <span style="color:#f92672">=</span> builder<span
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span
style="color:#f92672">();</span>
-</code></pre></div><p>With Mutual TLS, there is no notion of a
“client” or “server” only certificate. In the above
example code,
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span>RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server-private-key.pem"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer<span
style="color:#f92672">.</span><span style="color:#a6e22e">Builder</span>
builder <span style="color:#f92672">=</span> RaftServer<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">...</span>
+</span></span><span style="display:flex;"><span>builder<span
style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer server <span
style="color:#f92672">=</span> builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">build</span><span style="color:#f92672">();</span>
+</span></span></code></pre></div><p>Clients to the StateMachine would
construct a similar configuration:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span>RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client-private-key.pem"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient<span
style="color:#f92672">.</span><span style="color:#a6e22e">Builder</span>
builder <span style="color:#f92672">=</span> RaftClient<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">...</span>
+</span></span><span style="display:flex;"><span>builder<span
style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient client <span
style="color:#f92672">=</span> builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">build</span><span style="color:#f92672">();</span>
+</span></span></code></pre></div><p>With Mutual TLS, there is no notion of a
“client” or “server” only certificate. In the above
example code,
as long as the certificate and private key are generated using the same
certificate authority, any
should function.</p>
<p>For the LogService, this client setup would be hidden behind the facade of
the LogService client API.</p>
diff --git a/logservice/index.html b/logservice/index.html
index 95aed26e..b1e23a76 100644
--- a/logservice/index.html
+++ b/logservice/index.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/logservice/lifecycle.html b/logservice/lifecycle.html
index c3fb36f1..a52d3804 100644
--- a/logservice/lifecycle.html
+++ b/logservice/lifecycle.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/logservice/security.html b/logservice/security.html
index d375d497..32b81858 100644
--- a/logservice/security.html
+++ b/logservice/security.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -136,34 +137,34 @@ but the private key is sensitive and should be protected
like a password.</p>
<p>Every component in HBase using the Ratis LogService would need to ensure
that each LogService StateMachine is
configured to use the server keystore and truststore. The LogService state
machines would need to constructed
with the appropriate configuration options to specify this TLS material:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-java" data-lang="java">RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server-private-key.pem"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server.crt"</span><span
style="color:#f92672">);</span>
-
-RaftServer<span style="color:#f92672">.</span><span
style="color:#a6e22e">Builder</span> builder <span
style="color:#f92672">=</span> RaftServer<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftServer server <span style="color:#f92672">=</span> builder<span
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span
style="color:#f92672">();</span>
-</code></pre></div><p>Clients to the StateMachine would construct a similar
configuration:</p>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-java" data-lang="java">RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
-
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-GrpcConfigKeys<span style="color:#f92672">.</span><span
style="color:#a6e22e">TLS</span><span style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client-private-key.pem"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
-properties<span style="color:#f92672">.</span><span
style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client.crt"</span><span
style="color:#f92672">);</span>
-
-RaftClient<span style="color:#f92672">.</span><span
style="color:#a6e22e">Builder</span> builder <span
style="color:#f92672">=</span> RaftClient<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
-<span style="color:#f92672">...</span>
-builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
-
-RaftClient client <span style="color:#f92672">=</span> builder<span
style="color:#f92672">.</span><span style="color:#a6e22e">build</span><span
style="color:#f92672">();</span>
-</code></pre></div><p>With Mutual TLS, there is no notion of a
“client” or “server” only certificate. In the above
example code,
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span>RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server-private-key.pem"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/server.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer<span
style="color:#f92672">.</span><span style="color:#a6e22e">Builder</span>
builder <span style="color:#f92672">=</span> RaftServer<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">...</span>
+</span></span><span style="display:flex;"><span>builder<span
style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftServer server <span
style="color:#f92672">=</span> builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">build</span><span style="color:#f92672">();</span>
+</span></span></code></pre></div><p>Clients to the StateMachine would
construct a similar configuration:</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-java" data-lang="java"><span
style="display:flex;"><span>RaftProperties properties <span
style="color:#f92672">=</span> <span style="color:#f92672">...;</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">tlsEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">mutualAuthnEnabled</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">PRIVATE_KEY_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client-private-key.pem"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">TRUST_STORE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/ca.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>properties<span
style="color:#f92672">.</span><span style="color:#a6e22e">set</span><span
style="color:#f92672">(</span>GrpcConfigKeys<span
style="color:#f92672">.</span><span style="color:#a6e22e">TLS</span><span
style="color:#f92672">.</span><span
style="color:#a6e22e">CERT_CHAIN_FILE_KEY</span><span
style="color:#f92672">,</span> <span
style="color:#e6db74">"/path/to/client.crt"</span><span
style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient<span
style="color:#f92672">.</span><span style="color:#a6e22e">Builder</span>
builder <span style="color:#f92672">=</span> RaftClient<span
style="color:#f92672">.</span><span
style="color:#a6e22e">newBuilder</span><span style="color:#f92672">();</span>
+</span></span><span style="display:flex;"><span><span
style="color:#f92672">...</span>
+</span></span><span style="display:flex;"><span>builder<span
style="color:#f92672">.</span><span
style="color:#a6e22e">setProperties</span><span
style="color:#f92672">(</span>properties<span style="color:#f92672">);</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>RaftClient client <span
style="color:#f92672">=</span> builder<span style="color:#f92672">.</span><span
style="color:#a6e22e">build</span><span style="color:#f92672">();</span>
+</span></span></code></pre></div><p>With Mutual TLS, there is no notion of a
“client” or “server” only certificate. In the above
example code,
as long as the certificate and private key are generated using the same
certificate authority, any
should function.</p>
<p>For the LogService, this client setup would be hidden behind the facade of
the LogService client API.</p>
diff --git a/logservice/testing.html b/logservice/testing.html
index c653f7a1..21767497 100644
--- a/logservice/testing.html
+++ b/logservice/testing.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -117,19 +118,19 @@
with a running cluster via Compose.</li>
</ol>
<h2 id="building-the-docker-image">Building the Docker image</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ mvn clean package assembly:single
-DskipTests
-$ cd ratis-logservice <span style="color:#f92672">&&</span>
./build-docker.sh
-</code></pre></div><p>The above will create a Docker image tagged as
<code>ratis-logservice:latest</code>.</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ mvn
clean package assembly:single -DskipTests
+</span></span><span style="display:flex;"><span>$ cd ratis-logservice <span
style="color:#f92672">&&</span> ./build-docker.sh
+</span></span></code></pre></div><p>The above will create a Docker image
tagged as <code>ratis-logservice:latest</code>.</p>
<h2 id="launching-a-cluster-via-compose">Launching a cluster via Compose</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ docker-compose up -d
-</code></pre></div><p>The Compose orchestration will launch three
MetadataServer containers and three
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$
docker-compose up -d
+</span></span></code></pre></div><p>The Compose orchestration will launch
three MetadataServer containers and three
Worker containers, all on the same Docker network. The <code>-d</code> option
detaches the
container logs from your current shell.</p>
<h2 id="connecting-a-client">Connecting a client</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ ./client-env.sh
-$ ./bin/shell <...>
-$ ./bin/load-test <...>
-</code></pre></div><p>The <code>client-env.sh</code> script will launch a
Docker container which is on the same
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$
./client-env.sh
+</span></span><span style="display:flex;"><span>$ ./bin/shell <...>
+</span></span><span style="display:flex;"><span>$ ./bin/load-test <...>
+</span></span></code></pre></div><p>The <code>client-env.sh</code> script will
launch a Docker container which is on the same
network as our cluster running in Compose.</p>
<h2 id="debugging-the-cluster">Debugging the cluster</h2>
<p>Use <code>docker logs</code> to inspect the output from a specific
container. You must pass
diff --git a/logservice/testing/docker.html b/logservice/testing/docker.html
index a04b239d..7eec474d 100644
--- a/logservice/testing/docker.html
+++ b/logservice/testing/docker.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
@@ -109,19 +110,19 @@
with a running cluster via Compose.</li>
</ol>
<h2 id="building-the-docker-image">Building the Docker image</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ mvn clean package assembly:single
-DskipTests
-$ cd ratis-logservice <span style="color:#f92672">&&</span>
./build-docker.sh
-</code></pre></div><p>The above will create a Docker image tagged as
<code>ratis-logservice:latest</code>.</p>
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ mvn
clean package assembly:single -DskipTests
+</span></span><span style="display:flex;"><span>$ cd ratis-logservice <span
style="color:#f92672">&&</span> ./build-docker.sh
+</span></span></code></pre></div><p>The above will create a Docker image
tagged as <code>ratis-logservice:latest</code>.</p>
<h2 id="launching-a-cluster-via-compose">Launching a cluster via Compose</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ docker-compose up -d
-</code></pre></div><p>The Compose orchestration will launch three
MetadataServer containers and three
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$
docker-compose up -d
+</span></span></code></pre></div><p>The Compose orchestration will launch
three MetadataServer containers and three
Worker containers, all on the same Docker network. The <code>-d</code> option
detaches the
container logs from your current shell.</p>
<h2 id="connecting-a-client">Connecting a client</h2>
-<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
class="language-bash" data-lang="bash">$ ./client-env.sh
-$ ./bin/shell <...>
-$ ./bin/load-test <...>
-</code></pre></div><p>The <code>client-env.sh</code> script will launch a
Docker container which is on the same
+<div class="highlight"><pre tabindex="0"
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
class="language-bash" data-lang="bash"><span style="display:flex;"><span>$
./client-env.sh
+</span></span><span style="display:flex;"><span>$ ./bin/shell <...>
+</span></span><span style="display:flex;"><span>$ ./bin/load-test <...>
+</span></span></code></pre></div><p>The <code>client-env.sh</code> script will
launch a Docker container which is on the same
network as our cluster running in Compose.</p>
<h2 id="debugging-the-cluster">Debugging the cluster</h2>
<p>Use <code>docker logs</code> to inspect the output from a specific
container. You must pass
diff --git a/logservice/testing/index.html b/logservice/testing/index.html
index 35d1ebea..7aaaab49 100644
--- a/logservice/testing/index.html
+++ b/logservice/testing/index.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/logservice/testing/page/1.html b/logservice/testing/page/1.html
index 07262627..73466597 100644
--- a/logservice/testing/page/1.html
+++ b/logservice/testing/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE
html><html><head><title>https://ratis.apache.org/logservice/testing.html</title><link
rel="canonical" href="https://ratis.apache.org/logservice/testing.html"/><meta
name="robots" content="noindex"><meta charset="utf-8" /><meta
http-equiv="refresh" content="0;
url=https://ratis.apache.org/logservice/testing.html" /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+ <head>
+ <title>https://ratis.apache.org/logservice/testing.html</title>
+ <link rel="canonical"
href="https://ratis.apache.org/logservice/testing.html">
+ <meta name="robots" content="noindex">
+ <meta charset="utf-8">
+ <meta http-equiv="refresh" content="0;
url=https://ratis.apache.org/logservice/testing.html">
+ </head>
+</html>
diff --git a/logservice/testing/vagrant.html b/logservice/testing/vagrant.html
index fa50e76b..57715e2d 100644
--- a/logservice/testing/vagrant.html
+++ b/logservice/testing/vagrant.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post.html b/post.html
index c265f01f..066c548e 100644
--- a/post.html
+++ b/post.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/0.1.0-alpha.html b/post/0.1.0-alpha.html
index 2a9f17d5..5c676160 100644
--- a/post/0.1.0-alpha.html
+++ b/post/0.1.0-alpha.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/0.2.0.html b/post/0.2.0.html
index 951584dd..f3e7a52e 100644
--- a/post/0.2.0.html
+++ b/post/0.2.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/0.3.0.html b/post/0.3.0.html
index 543f4893..f1789f32 100644
--- a/post/0.3.0.html
+++ b/post/0.3.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/0.4.0.html b/post/0.4.0.html
index 194055cb..6cb88482 100644
--- a/post/0.4.0.html
+++ b/post/0.4.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/0.5.0.html b/post/0.5.0.html
index c2706a66..75c7437a 100644
--- a/post/0.5.0.html
+++ b/post/0.5.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/1.0.0.html b/post/1.0.0.html
index 12c38d50..e4b20c44 100644
--- a/post/1.0.0.html
+++ b/post/1.0.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/2.0.0.html b/post/2.0.0.html
index a097793e..fa0be236 100644
--- a/post/2.0.0.html
+++ b/post/2.0.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/2.1.0.html b/post/2.1.0.html
index 0d9c172b..177678f4 100644
--- a/post/2.1.0.html
+++ b/post/2.1.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/2.2.0.html b/post/2.2.0.html
index a25ce71d..badcacc5 100644
--- a/post/2.2.0.html
+++ b/post/2.2.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/2.3.0.html b/post/2.3.0.html
index 3834c1d6..e5c07e03 100644
--- a/post/2.3.0.html
+++ b/post/2.3.0.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/post/page/1.html b/post/page/1.html
index 8e0db483..15eee7bb 100644
--- a/post/page/1.html
+++ b/post/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE
html><html><head><title>https://ratis.apache.org/post.html</title><link
rel="canonical" href="https://ratis.apache.org/post.html"/><meta name="robots"
content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh"
content="0; url=https://ratis.apache.org/post.html" /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+ <head>
+ <title>https://ratis.apache.org/post.html</title>
+ <link rel="canonical" href="https://ratis.apache.org/post.html">
+ <meta name="robots" content="noindex">
+ <meta charset="utf-8">
+ <meta http-equiv="refresh" content="0;
url=https://ratis.apache.org/post.html">
+ </head>
+</html>
diff --git a/source.html b/source.html
index 7145488e..d1326abe 100644
--- a/source.html
+++ b/source.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/tags.html b/tags.html
index 4d21ca59..032c2bae 100644
--- a/tags.html
+++ b/tags.html
@@ -42,6 +42,7 @@
<li><a
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a
href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a
href="https://www.apache.org/security/">Security</a></li>
+ <li><a
href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
</ul>
</div>
</div>
diff --git a/tags/page/1.html b/tags/page/1.html
index 83cd251d..026082a9 100644
--- a/tags/page/1.html
+++ b/tags/page/1.html
@@ -1 +1,10 @@
-<!DOCTYPE
html><html><head><title>https://ratis.apache.org/tags.html</title><link
rel="canonical" href="https://ratis.apache.org/tags.html"/><meta name="robots"
content="noindex"><meta charset="utf-8" /><meta http-equiv="refresh"
content="0; url=https://ratis.apache.org/tags.html" /></head></html>
\ No newline at end of file
+<!DOCTYPE html>
+<html lang="en-us">
+ <head>
+ <title>https://ratis.apache.org/tags.html</title>
+ <link rel="canonical" href="https://ratis.apache.org/tags.html">
+ <meta name="robots" content="noindex">
+ <meta charset="utf-8">
+ <meta http-equiv="refresh" content="0;
url=https://ratis.apache.org/tags.html">
+ </head>
+</html>