Author: krisden
Date: Mon Mar 18 18:42:50 2019
New Revision: 1855787

URL: http://svn.apache.org/viewvc?rev=1855787&view=rev
Log:
KNOX-1805 - Documentation for KNOX-1687 Hashicorp Vault RemoteAliasService 
provider

Modified:
    knox/site/books/knox-1-3-0/user-guide.html
    knox/trunk/books/1.3.0/book.md
    knox/trunk/books/1.3.0/config.md

Modified: knox/site/books/knox-1-3-0/user-guide.html
URL: 
http://svn.apache.org/viewvc/knox/site/books/knox-1-3-0/user-guide.html?rev=1855787&r1=1855786&r2=1855787&view=diff
==============================================================================
--- knox/site/books/knox-1-3-0/user-guide.html (original)
+++ knox/site/books/knox-1-3-0/user-guide.html Mon Mar 18 18:42:50 2019
@@ -52,11 +52,11 @@
         <ul>
           <li><a href="#Remote+Configuration+Monitor">Remote Configuration 
Monitor</a></li>
           <li><a href="#Remote+Configuration+Registry+Clients">Remote 
Configuration Registry Clients</a></li>
-          <li><a href="#Remote+Alias+Discovery">Remote Alias Discovery</a></li>
           <li><a href="#Topology+Descriptors">Topology Descriptors</a></li>
           <li><a href="#Hostmap+Provider">Hostmap Provider</a></li>
         </ul>
       </li>
+      <li><a href="#Remote+Alias+Service">Remote Alias Service</a></li>
       <li><a href="#Knox+CLI">Knox CLI</a></li>
       <li><a href="#Admin+API">Admin API</a></li>
       <li><a href="#X-Forwarded-*+Headers+Support">X-Forwarded-* Headers 
Support</a></li>
@@ -938,7 +938,7 @@ https://{gateway-host}:{gateway-port}/{g
     </tr>
     <tr>
       <td><code>gateway.remote.alias.service.enabled</code> </td>
-      <td>Turn on/off remote alias management, this will take effect only when 
remote configuration monitoring is enabled </td>
+      <td>Turn on/off remote alias service </td>
       <td><code>true</code></td>
     </tr>
     <tr>
@@ -1506,14 +1506,46 @@ trustworthiness.
 </code></pre>
 <p><em>While multiple such clients can be configured, for ZooKeeper clients, 
there is currently a limitation with respect to authentication. Multiple 
clients cannot each have distinct authentication configurations. This 
limitation is imposed by the underlying ZooKeeper client. Therefore, the 
clients must all be insecure (no authentication configured), or they must all 
authenticate to the same ZooKeeper using the same credentials.</em></p>
 <p>The <a href="#Remote+Configuration+Monitor">remote configuration 
monitor</a> facility uses these client configurations to perform its 
function.</p>
-<h4><a id="Remote+Alias+Discovery">Remote Alias Discovery</a> <a 
href="#Remote+Alias+Discovery"><img src="markbook-section-link.png"/></a></h4>
-<p>Knox will also monitor for remote aliases that are added, deleted or 
updated. By default this is turned on (if Remote Configuration Monitor is on) 
and will sync all the aliases. In case one wants to turn off this feature they 
can do so by using the property 
&ldquo;gateway.remote.alias.service.enabled&rdquo; in gateway-site.xml. Knox 
needs to be restarted for this change to take effect. </p>
+<h4><a id="Remote+Alias+Service">Remote Alias Service</a> <a 
href="#Remote+Alias+Service"><img src="markbook-section-link.png"/></a></h4>
+<p>Knox can be configured to use a remote alias service. The remote alias 
service is pluggable to support multiple different backends. The feature can be 
disabled by setting the property 
<code>gateway.remote.alias.service.enabled</code> to <code>false</code> in 
<code>gateway-site.xml</code>. Knox needs to be restarted for this change to 
take effect.</p>
 <pre><code>&lt;property&gt;
     &lt;name&gt;gateway.remote.alias.service.enabled&lt;/name&gt;
     &lt;value&gt;false&lt;/value&gt;
-    &lt;description&gt;Turn on/off Remote Alias Discovery(true by 
default)&lt;/description&gt;
+    &lt;description&gt;Turn on/off Remote Alias service (true by 
default)&lt;/description&gt;
 &lt;/property&gt;
 </code></pre>
+<p>The type of remote alias service can be configured by default using 
<code>gateway.remote.alias.service.config.type</code>. If necessary the remote 
alias service config prefix can be changed with 
<code>gateway.remote.alias.service.config.prefix</code>. Changing the prefix 
affects all remote alias service configurations.</p>
+<h5><a id="Remote+Alias+Service+-+HashiCorp+Vault">Remote Alias Service - 
HashiCorp Vault</a> <a href="#Remote+Alias+Service+-+HashiCorp+Vault"><img 
src="markbook-section-link.png"/></a></h5>
+<p>The HashiCorp Vault remote alias service is deigned to store aliases into 
HashiCorp Vault. It is configured by setting 
<code>gateway.remote.alias.service.config.type</code> to 
<code>hashicorp.vault</code> in gateway-site.xml. The table below highlights 
configuration parameters for the HashiCorp Vault remote alias service. Knox 
needs to be restarted for this change to take effect.</p>
+<table>
+  <thead>
+    <tr>
+      <th>Property </th>
+      <th>Description</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      
<td><code>gateway.remote.alias.service.config.hashicorp.vault.address</code></td>
+      <td>Address of the HashiCorp Vault server</td>
+    </tr>
+    <tr>
+      
<td><code>gateway.remote.alias.service.config.hashicorp.vault.secrets.engine</code></td>
+      <td>HashiCorp Vault secrets engine</td>
+    </tr>
+    <tr>
+      
<td><code>gateway.remote.alias.service.config.hashicorp.vault.path.prefix</code></td>
+      <td>HashiCorp Vault secrets engine path prefix</td>
+    </tr>
+  </tbody>
+</table>
+<p>There are multiple authentication mechanisms supported by HashiCorp Vault. 
Knox supports pluggable authentication mechanisms. The authentication type is 
configured by setting 
<code>gateway.remote.alias.service.config.hashicorp.vault.authentication.type</code>
 in gateway-site.xml.</p>
+<p><strong>Token Authentication</strong></p>
+<p>Token authentication takes a single setting 
<code>gateway.remote.alias.service.config.hashicorp.vault.authentication.token</code>
 and takes either the value of the authentication token or a local alias 
configured with <code>${ALIAS=token_name}</code>.</p>
+<p><strong>Kubernetes Authentication</strong></p>
+<p>Kubernetes authentication takes a single setting 
<code>gateway.remote.alias.service.config.hashicorp.vault.authentication.kubernetes.role</code>
 which defines the role to use when connecting to Vault. The Kubernetes 
authentication mechanism uses the secrets prepopulated into a K8S pod to 
authenticate to Vault. Knox can then use the secrets from Vault after being 
authenticated.</p>
+<h5><a id="Remote+Alias+Service+-+Zookeeper">Remote Alias Service - 
Zookeeper</a> <a href="#Remote+Alias+Service+-+Zookeeper"><img 
src="markbook-section-link.png"/></a></h5>
+<p>The Zookeeper remote alias service is designed to store aliases into Apache 
Zookeeper. It supports monitoring for remote aliases that are added, deleted or 
updated. The Zookeeper remote alias service is configured by turning the Remote 
Configuration Monitor on and setting 
<code>gateway.remote.alias.service.config.type</code> to <code>zookeeper</code> 
in gateway-site.xml. Knox needs to be restarted for this change to take effect. 
</p>
 <h4><a id="Logging">Logging</a> <a href="#Logging"><img 
src="markbook-section-link.png"/></a></h4>
 <p>If necessary you can enable additional logging by editing the 
<code>log4j.properties</code> file in the <code>conf</code> directory. Changing 
the <code>rootLogger</code> value from <code>ERROR</code> to <code>DEBUG</code> 
will generate a large amount of debug logging. A number of useful, more fine 
loggers are also provided in the file.</p>
 <h4><a id="Java+VM+Options">Java VM Options</a> <a 
href="#Java+VM+Options"><img src="markbook-section-link.png"/></a></h4>

Modified: knox/trunk/books/1.3.0/book.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.3.0/book.md?rev=1855787&r1=1855786&r2=1855787&view=diff
==============================================================================
--- knox/trunk/books/1.3.0/book.md (original)
+++ knox/trunk/books/1.3.0/book.md Mon Mar 18 18:42:50 2019
@@ -45,9 +45,9 @@
     * #[Cluster Configuration Monitoring]
         * #[Remote Configuration Monitor]
         * #[Remote Configuration Registry Clients]
-        * #[Remote Alias Discovery]
         * #[Topology Descriptors]
         * #[Hostmap Provider]
+    * #[Remote Alias Service]
     * #[Knox CLI]
     * #[Admin API]
     * #[X-Forwarded-* Headers Support]

Modified: knox/trunk/books/1.3.0/config.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.3.0/config.md?rev=1855787&r1=1855786&r2=1855787&view=diff
==============================================================================
--- knox/trunk/books/1.3.0/config.md (original)
+++ knox/trunk/books/1.3.0/config.md Mon Mar 18 18:42:50 2019
@@ -157,7 +157,7 @@ Property    | Description | Default
 `gateway.remote.config.registry.<name>`|A named [remote configuration registry 
client](#Remote+Configuration+Registry+Clients) definition, where _name_ is an 
arbitrary identifier for the connection|null
 `gateway.cluster.config.monitor.ambari.enabled`| Indicates whether the cluster 
monitoring and associated dynamic topology updating is enabled | `false`
 `gateway.cluster.config.monitor.ambari.interval` | The interval (in seconds) 
at which the cluster monitor will poll Ambari for cluster configuration changes 
| `60`
-`gateway.remote.alias.service.enabled` | Turn on/off remote alias management, 
this will take effect only when remote configuration monitoring is enabled  | 
`true`
+`gateway.remote.alias.service.enabled` | Turn on/off remote alias service | 
`true`
 `gateway.read.only.override.topologies` | A comma-delimited list of topology 
names which should be forcibly treated as read-only. | none
 `gateway.discovery.default.address` | The default discovery address, which is 
applied if no address is specified in a descriptor. | null
 `gateway.discovery.default.cluster` | The default discovery cluster name, 
which is applied if no cluster name is specified in a descriptor. | null
@@ -796,16 +796,42 @@ _While multiple such clients can be conf
 
 The [remote configuration monitor](#Remote+Configuration+Monitor) facility 
uses these client configurations to perform its function.
 
-#### Remote Alias Discovery ####
+#### Remote Alias Service ####
 
-Knox will also monitor for remote aliases that are added, deleted or updated. 
By default this is turned on (if Remote Configuration Monitor is on) and will 
sync all the aliases. In case one wants to turn off this feature they can do so 
by using the property "gateway.remote.alias.service.enabled" in 
gateway-site.xml. Knox needs to be restarted for this change to take effect. 
+Knox can be configured to use a remote alias service. The remote alias service 
is pluggable to support multiple different backends. The feature can be 
disabled by setting the property `gateway.remote.alias.service.enabled` to 
`false` in `gateway-site.xml`. Knox needs to be restarted for this change to 
take effect.
 
-    <property>
-        <name>gateway.remote.alias.service.enabled</name>
-        <value>false</value>
-        <description>Turn on/off Remote Alias Discovery(true by 
default)</description>
-    </property>
+```
+<property>
+    <name>gateway.remote.alias.service.enabled</name>
+    <value>false</value>
+    <description>Turn on/off Remote Alias service (true by 
default)</description>
+</property>
+```
+
+The type of remote alias service can be configured by default using 
`gateway.remote.alias.service.config.type`. If necessary the remote alias 
service config prefix can be changed with 
`gateway.remote.alias.service.config.prefix`. Changing the prefix affects all 
remote alias service configurations.
+##### Remote Alias Service - HashiCorp Vault #####
+
+The HashiCorp Vault remote alias service is deigned to store aliases into 
HashiCorp Vault. It is configured by setting 
`gateway.remote.alias.service.config.type` to `hashicorp.vault` in 
gateway-site.xml. The table below highlights configuration parameters for the 
HashiCorp Vault remote alias service. Knox needs to be restarted for this 
change to take effect.
+
+Property    | Description
+------------|------------
+`gateway.remote.alias.service.config.hashicorp.vault.address`|Address of the 
HashiCorp Vault server
+`gateway.remote.alias.service.config.hashicorp.vault.secrets.engine`|HashiCorp 
Vault secrets engine
+`gateway.remote.alias.service.config.hashicorp.vault.path.prefix`|HashiCorp 
Vault secrets engine path prefix
+
+There are multiple authentication mechanisms supported by HashiCorp Vault. 
Knox supports pluggable authentication mechanisms. The authentication type is 
configured by setting 
`gateway.remote.alias.service.config.hashicorp.vault.authentication.type` in 
gateway-site.xml.
+
+__Token Authentication__
+
+Token authentication takes a single setting 
`gateway.remote.alias.service.config.hashicorp.vault.authentication.token` and 
takes either the value of the authentication token or a local alias configured 
with `${ALIAS=token_name}`.
+
+__Kubernetes Authentication__
+
+Kubernetes authentication takes a single setting 
`gateway.remote.alias.service.config.hashicorp.vault.authentication.kubernetes.role`
 which defines the role to use when connecting to Vault. The Kubernetes 
authentication mechanism uses the secrets prepopulated into a K8S pod to 
authenticate to Vault. Knox can then use the secrets from Vault after being 
authenticated.
+
+##### Remote Alias Service - Zookeeper #####
 
+The Zookeeper remote alias service is designed to store aliases into Apache 
Zookeeper. It supports monitoring for remote aliases that are added, deleted or 
updated. The Zookeeper remote alias service is configured by turning the Remote 
Configuration Monitor on and setting `gateway.remote.alias.service.config.type` 
to `zookeeper` in gateway-site.xml. Knox needs to be restarted for this change 
to take effect. 
 
 #### Logging ####
 


Reply via email to