diff --git a/docs/1.6/admin-guide/amqp-adapter-config/index.html b/docs/1.6/admin-guide/amqp-adapter-config/index.html
index 20d67c2..a9e425d 100644
--- a/docs/1.6/admin-guide/amqp-adapter-config/index.html
+++ b/docs/1.6/admin-guide/amqp-adapter-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>AMQP Adapter Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/amqp-adapter-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/amqp-adapter-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/amqp-adapter-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/amqp-adapter-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/amqp-adapter-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/amqp-adapter-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/amqp-adapter-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/amqp-adapter-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/amqp-adapter-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/amqp-adapter-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-adapter-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,19 +1992,17 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1976,241 +2026,192 @@
         
 
 
-<p>The AMQP protocol adapter exposes AMQP based endpoints for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
+<p>The AMQP protocol adapter exposes AMQP based endpoints for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
 <p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the
 corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-amqp-vertx/">Docker image</a> created from it.</p>
-
 <p>The adapter supports the following standard configuration options:</p>
-
 <ul>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#java-vm-options">Common Java VM Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#vert-x-options">Common vert.x Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#protocol-adapter-options">Common Protocol Adapter Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring Options</a></li>
 </ul>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the AMQP adapter.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_AMQP_AUTHENTICATION_REQUIRED</code><br><code>--hono.amqp.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+<td style="text-align:left"><code>HONO_AMQP_AUTHENTICATION_REQUIRED</code><br><code>--hono.amqp.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_BIND_ADDRESS</code><br><code>--hono.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AMQP_BIND_ADDRESS</code><br><code>--hono.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_CERT_PATH</code><br><code>--hono.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_AMQP_CERT_PATH</code><br><code>--hono.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_DEFAULTS_ENABLED</code><br><code>--hono.amqp.defaultsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+<td style="text-align:left"><code>HONO_AMQP_DEFAULTS_ENABLED</code><br><code>--hono.amqp.defaultsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_IDLE_TIMEOUT</code><br><code>--hono.amqp.idleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>60000</code></td>
-<td align="left">The time interval (milliseconds) to wait for incoming traffic from a device before the connection should be considered stale and thus be closed. Setting this property to <code>0</code> prevents the adapter from detecting and closing stale connections.</td>
+<td style="text-align:left"><code>HONO_AMQP_IDLE_TIMEOUT</code><br><code>--hono.amqp.idleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>60000</code></td>
+<td style="text-align:left">The time interval (milliseconds) to wait for incoming traffic from a device before the connection should be considered stale and thus be closed. Setting this property to <code>0</code> prevents the adapter from detecting and closing stale connections.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.amqp.sendMessageToDeviceTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The time interval (milliseconds) to wait for a device to acknowledge receiving a (command) message before the AMQP link used for sending the message will be closed. Setting this property to <code>0</code> means the adapter waits indefinitely for a device to acknowledge receiving the message.</td>
+<td style="text-align:left"><code>HONO_AMQP_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.amqp.sendMessageToDeviceTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The time interval (milliseconds) to wait for a device to acknowledge receiving a (command) message before the AMQP link used for sending the message will be closed. Setting this property to <code>0</code> means the adapter waits indefinitely for a device to acknowledge receiving the message.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_INSECURE_PORT</code><br><code>--hono.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left"><code>5672</code></td>
-<td align="left">The port number that the protocol adapter should listen on for insecure connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AMQP_INSECURE_PORT</code><br><code>--hono.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5672</code></td>
+<td style="text-align:left">The port number that the protocol adapter should listen on for insecure connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_KEY_PATH</code><br><code>--hono.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_AMQP_KEY_PATH</code><br><code>--hono.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_KEY_STORE_PATH</code><br><code>--hono.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_AMQP_KEY_PATH</code> and <code>HONO_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_AMQP_KEY_STORE_PATH</code><br><code>--hono.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_AMQP_KEY_PATH</code> and <code>HONO_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_SNI</code><br><code>--hono.amqp.sni</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format, <code>HONO_AMQP_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_AMQP_SNI</code><br><code>--hono.amqp.sni</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format, <code>HONO_AMQP_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_MAX_CONNECTIONS</code><br><code>--hono.amqp.maxConnections</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+<td style="text-align:left"><code>HONO_AMQP_MAX_CONNECTIONS</code><br><code>--hono.amqp.maxConnections</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_MAX_FRAME_SIZE</code><br><code>--hono.amqp.maxFrameSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>16384</code></td>
-<td align="left">The maximum size (in bytes) of a single AMQP frame that the adapter should accept from the device. When a device sends a bigger frame, the connection will be closed.</td>
+<td style="text-align:left"><code>HONO_AMQP_MAX_FRAME_SIZE</code><br><code>--hono.amqp.maxFrameSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>16384</code></td>
+<td style="text-align:left">The maximum size (in bytes) of a single AMQP frame that the adapter should accept from the device. When a device sends a bigger frame, the connection will be closed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_MAX_PAYLOAD_SIZE</code><br><code>--hono.amqp.maxPayloadSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>2048</code></td>
-<td align="left">The maximum allowed size of an incoming AMQP message in bytes. When a client sends a message with a larger payload, the message is discarded and the link to the client is closed.</td>
+<td style="text-align:left"><code>HONO_AMQP_MAX_PAYLOAD_SIZE</code><br><code>--hono.amqp.maxPayloadSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>2048</code></td>
+<td style="text-align:left">The maximum allowed size of an incoming AMQP message in bytes. When a client sends a message with a larger payload, the message is discarded and the link to the client is closed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_MAX_SESSION_FRAMES</code><br><code>--hono.amqp.maxSessionFrames</code></td>
-<td align="center">no</td>
-<td align="left"><code>30</code></td>
-<td align="left">The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session.</td>
+<td style="text-align:left"><code>HONO_AMQP_MAX_SESSION_FRAMES</code><br><code>--hono.amqp.maxSessionFrames</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>30</code></td>
+<td style="text-align:left">The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSSL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSSL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_PORT</code><br><code>--hono.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AMQP_PORT</code><br><code>--hono.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AMQP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.amqp.tenantIdleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>0ms</code></td>
-<td align="left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
+<td style="text-align:left"><code>HONO_AMQP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.amqp.tenantIdleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0ms</code></td>
+<td style="text-align:left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default values do not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The AMQP protocol adapter can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The AMQP protocol adapter will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>either setting the <code>HONO_AMQP_KEY_STORE_PATH</code> and the <code>HONO_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_AMQP_KEY_PATH</code> and <code>HONO_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 5671. The port number can also be set explicitly using the <code>HONO_AMQP_PORT</code> variable.</p>
-
 <p>The <code>HONO_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default adapter port (5672) by simply setting <code>HONO_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The protocol adapter issues a warning on the console if <code>HONO_AMQP_INSECURE_PORT</code> is set to the default secure port (5671) used by the adapter for secure connections.</p>
-
 <p>The <code>HONO_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
 
 <footer class="footline">
@@ -3324,19 +3325,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/amqp-network-config/index.html b/docs/1.6/admin-guide/amqp-network-config/index.html
index 90c8878..f616ecf 100644
--- a/docs/1.6/admin-guide/amqp-network-config/index.html
+++ b/docs/1.6/admin-guide/amqp-network-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>AMQP 1.0 Messaging Network Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/amqp-network-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/amqp-network-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/amqp-network-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/amqp-network-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/amqp-network-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/amqp-network-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/amqp-network-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/amqp-network-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/amqp-network-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/amqp-network-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/amqp-network-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,13 +1992,10 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#dispatch-router-configuration">Dispatch Router Configuration</a></li>
-<li><a href="#artemis-broker-configuration">Artemis Broker Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#dispatch-router-configuration">Dispatch Router Configuration</a></li>
+    <li><a href="#artemis-broker-configuration">Artemis Broker Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1971,19 +2020,12 @@
 
 
 <p>The <em>Qpid Dispatch Router</em>, together with the <em>Apache Artemis</em> message broker, serves as the default <em>AMQP 1.0 Messaging Network</em> that is used in Hono&rsquo;s example deployment as described in the <a href="/hono/docs/1.6/deployment/">Deployment Guides</a>.</p>
-
 <p>The Dispatch Router component exposes service endpoints implementing the <em>north bound</em> part of Hono&rsquo;s <a href="/hono/docs/1.6/api/telemetry/">Telemetry</a>, <a href="/hono/docs/1.6/api/event/">Event</a> and <a href="/hono/docs/1.6/api/command-and-control/">Command &amp; Control</a> APIs which are used by applications to interact with devices.</p>
-
 <h2 id="dispatch-router-configuration">Dispatch Router Configuration</h2>
-
 <p>The Dispatch Router is part of the <a href="https://qpid.apache.org">Apache Qpid project</a>. Hono uses Dispatch Router by means of the <a href="https://enmasse.io">EnMasse</a> project&rsquo;s <a href="https://quay.io/repository/enmasse/qdrouterd-base">Dispatch Router Docker image</a> created from the Qpid project source code.</p>
-
 <p>The Dispatch Router can be configured by means of configuration files. Hono includes an example configuration in the <code>deploy/src/main/config/qpid</code> folder which is used by the example deployment scripts. Please refer to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">Dispatch Router documentation</a> for details regarding the configuration file format and options.</p>
-
 <h2 id="artemis-broker-configuration">Artemis Broker Configuration</h2>
-
 <p>The Artemis Broker is part of the <a href="https://activemq.apache.org">Apache ActiveMQ project</a>. Hono uses Artemis by means of the <a href="https://enmasse.io">EnMasse</a> project&rsquo;s <a href="https://hub.docker.com/r/enmasseproject/activemq-artemis">Artemis Docker image</a> created from the Artemis project source code.</p>
-
 <p>The Artemis Broker can be configured by means of configuration files. Hono includes an example configuration in the <code>deploy/src/main/config/artemis</code> folder which is used by the example deployment scripts. Please refer to the <a href="https://activemq.apache.org/components/artemis/documentation/">Artemis documentation</a> for details regarding the configuration file format and options.</p>
 
 <footer class="footline">
@@ -3097,19 +3139,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844313"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844313"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844313"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844313"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844313"></script>
+    <script src="/hono/docs/js/learn.js?1617844313"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844313"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844313" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844313"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/auth-server-config/index.html b/docs/1.6/admin-guide/auth-server-config/index.html
index 10c5fba..3b73ee2 100644
--- a/docs/1.6/admin-guide/auth-server-config/index.html
+++ b/docs/1.6/admin-guide/auth-server-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Auth Server Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757957"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757957"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/auth-server-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/auth-server-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/auth-server-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/auth-server-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/auth-server-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/auth-server-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/auth-server-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/auth-server-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/auth-server-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/auth-server-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/auth-server-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,20 +1992,18 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1977,226 +2027,175 @@
         
 
 
-<p>The Auth Server component exposes a service endpoint implementing Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.6/api/authentication/">Authentication</a> API. Other services use this component for authenticating clients and retrieving a token asserting the client&rsquo;s identity and corresponding authorities.</p>
-
+<p>The Auth Server component exposes a service endpoint implementing Eclipse Hono™&rsquo;s <a href="/hono/docs/1.6/api/authentication/">Authentication</a> API. Other services use this component for authenticating clients and retrieving a token asserting the client&rsquo;s identity and corresponding authorities.</p>
 <p>This component serves as a default implementation of the <em>Authentication</em> API only. On startup, it reads in all identities and their authorities from a JSON file from the file system. All data is then kept in memory and there are no remote service APIs for managing the identities and their authorities.</p>
-
 <p>The Auth Server is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-auth/">Docker image</a> created from it.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>In addition to the following options, this component supports the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <p>The server can be configured by means of environment variables or corresponding command line options.
 The following table provides an overview of the configuration variables and corresponding command line options that the server supports:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_BIND_ADDRESS</code><br><code>--hono.auth.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_BIND_ADDRESS</code><br><code>--hono.auth.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_CERT_PATH</code><br><code>--hono.auth.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AUTH_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_CERT_PATH</code><br><code>--hono.auth.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_AUTH_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT</code><br><code>--hono.auth.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_INSECURE_PORT</code><br><code>--hono.auth.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.auth.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.auth.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.auth.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AUTH_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.auth.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_AUTH_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_KEY_PATH</code><br><code>--hono.auth.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the server process is running under. This option must be used in conjunction with <code>HONO_AUTH_CERT_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_KEY_PATH</code><br><code>--hono.auth.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the server process is running under. This option must be used in conjunction with <code>HONO_AUTH_CERT_PATH</code>.<br>Alternatively, the <code>HONO_AUTH_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.auth.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.auth.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_KEY_STORE_PATH</code><br><code>--hono.auth.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_AUTH_AMQP_KEY_PATH</code> and <code>HONO_AUTH_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_KEY_STORE_PATH</code><br><code>--hono.auth.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_AUTH_AMQP_KEY_PATH</code> and <code>HONO_AUTH_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.auth.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.auth.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_PORT</code><br><code>--hono.auth.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_PORT</code><br><code>--hono.auth.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.auth.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.auth.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_TRUST_STORE_PASSWORD</code><br><code>--hono.auth.amqp.trustStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the trust store.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_TRUST_STORE_PASSWORD</code><br><code>--hono.auth.amqp.trustStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the trust store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_AMQP_TRUST_STORE_PATH</code><br><code>--hono.auth.amqp.trustStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the CA certificates the service uses for authenticating clients. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_AUTH_AMQP_TRUST_STORE_PATH</code><br><code>--hono.auth.amqp.trustStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the CA certificates the service uses for authenticating clients. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SVC_PERMISSIONS_PATH</code><br><code>--hono.auth.svc.permissionsPath</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The path to the JSON file defining the identities and corresponding authorities on Hono&rsquo;s endpoint resources. For backwards compatibility with previous releases, the path may contain a <code>file://</code> prefix.</td>
+<td style="text-align:left"><code>HONO_AUTH_SVC_PERMISSIONS_PATH</code><br><code>--hono.auth.svc.permissionsPath</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The path to the JSON file defining the identities and corresponding authorities on Hono&rsquo;s endpoint resources. For backwards compatibility with previous releases, the path may contain a <code>file://</code> prefix.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code><br><code>--hono.auth.svc.signing.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting an authenticated client&rsquo;s identity and authorities. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_AUTH_AMQP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code><br><code>--hono.auth.svc.signing.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting an authenticated client&rsquo;s identity and authorities. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_AUTH_AMQP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.auth.svc.signing.sharedSecret</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">A string to derive a symmetric key from that is used for signing tokens asserting an authenticated client&rsquo;s identity and authorities. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.auth.svc.signing.sharedSecret</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A string to derive a symmetric key from that is used for signing tokens asserting an authenticated client&rsquo;s identity and authorities. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_AUTH_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.auth.svc.signing.tokenExpiration</code></td>
-<td align="center">no</td>
-<td align="left">600</td>
-<td align="left">The number of seconds after which the tokens created by this service for asserting an authenticated client&rsquo;s identity should be considered invalid. Other Hono components will close AMQP connections with clients after this period in order to force the client to authenticate again and create a new token. In closed environments it should be save to set this value to a much higher value, e.g. several hours.</td>
+<td style="text-align:left"><code>HONO_AUTH_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.auth.svc.signing.tokenExpiration</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">600</td>
+<td style="text-align:left">The number of seconds after which the tokens created by this service for asserting an authenticated client&rsquo;s identity should be considered invalid. Other Hono components will close AMQP connections with clients after this period in order to force the client to authenticate again and create a new token. In closed environments it should be save to set this value to a much higher value, e.g. several hours.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SVC_SUPPORTED_SASL_MECHANISMS</code><br><code>--hono.auth.svc.supportedSaslMechanisms</code></td>
-<td align="center">no</td>
-<td align="left"><code>EXTERNAL, PLAIN</code></td>
-<td align="left">A (comma separated) list of the supported SASL mechanisms to be advertised to clients. This option may be set to specify only one of <code>EXTERNAL</code> or <code>PLAIN</code>, or to use a different order.</td>
+<td style="text-align:left"><code>HONO_AUTH_SVC_SUPPORTED_SASL_MECHANISMS</code><br><code>--hono.auth.svc.supportedSaslMechanisms</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>EXTERNAL, PLAIN</code></td>
+<td style="text-align:left">A (comma separated) list of the supported SASL mechanisms to be advertised to clients. This option may be set to specify only one of <code>EXTERNAL</code> or <code>PLAIN</code>, or to use a different order.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Auth Server can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The server will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The server needs to be configured with a private key, a certificate holding the public key and a trust store in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for setting the private key and certificate:</p>
-
 <ol>
 <li>Setting the <code>HONO_AUTH_AMQP_KEY_STORE_PATH</code> and the <code>HONO_AUTH_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_AUTH_AMQP_KEY_PATH</code> and <code>HONO_AUTH_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>In order to set the trust store, the <code>HONO_AUTH_AMQP_TRUST_STORE_PATH</code> variable needs to be set to a key store containing the trusted root CA certificates. The <code>HONO_AUTH_AMQP_TRUST_STORE_PASSWORD</code> variable needs to be set if the key store requires a pass phrase for reading its contents.</p>
-
 <p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_AUTH_AMQP_PORT</code> variable.</p>
-
 <p>The <code>HONO_AUTH_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_AUTH_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_AUTH_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The server issues a warning on the console if <code>HONO_AUTH_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>
-
 <p>The <code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
-
 <p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
-
 <p>Since the secure port may need different visibility in the network setup compared to the secure port, it has its own binding address <code>HONO_AUTH_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
 This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The Auth Server will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
 
 <footer class="footline">
@@ -3310,19 +3309,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/coap-adapter-config/index.html b/docs/1.6/admin-guide/coap-adapter-config/index.html
index c8442fb..6000ddb 100644
--- a/docs/1.6/admin-guide/coap-adapter-config/index.html
+++ b/docs/1.6/admin-guide/coap-adapter-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>CoAP Adapter Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/coap-adapter-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/coap-adapter-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/coap-adapter-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/coap-adapter-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/coap-adapter-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/coap-adapter-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/coap-adapter-config/">1.3</option>
@@ -1750,6 +1788,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/coap-adapter-config/">dev</option>
@@ -1806,6 +1846,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1862,20 +1908,18 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#authentication">Authentication</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#authentication">Authentication</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1899,286 +1943,231 @@
         
 
 
-<p>The CoAP protocol adapter exposes CoAP based endpoints for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
-<p>The adapter is implemented as a Spring Boot application using <a href="https://www.eclipse.org/californium">Eclipse Californium&trade;</a> for implementing
+<p>The CoAP protocol adapter exposes CoAP based endpoints for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
+<p>The adapter is implemented as a Spring Boot application using <a href="https://www.eclipse.org/californium">Eclipse Californium™</a> for implementing
 the CoAP protocol handling. It can be run either directly from the command line or by means of starting the corresponding
 <a href="https://hub.docker.com/r/eclipse/hono-adapter-coap-vertx/">Docker image</a> created from it.</p>
-
 <p>The adapter supports the following standard configuration options:</p>
-
 <ul>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#java-vm-options">Common Java VM Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#vert-x-options">Common vert.x Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#protocol-adapter-options">Common Protocol Adapter Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring Options</a></li>
 </ul>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the CoAP adapter.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_AUTHENTICATION_REQUIRED</code><br><code>--hono.coap.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that fail to authenticate are not allowed to connect to the adapter.</td>
+<td style="text-align:left"><code>HONO_COAP_AUTHENTICATION_REQUIRED</code><br><code>--hono.coap.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that fail to authenticate are not allowed to connect to the adapter.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_BIND_ADDRESS</code><br><code>--hono.coap.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COAP_BIND_ADDRESS</code><br><code>--hono.coap.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_CERT_PATH</code><br><code>--hono.coap.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COAP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_COAP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_COAP_CERT_PATH</code><br><code>--hono.coap.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COAP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_COAP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_COAP_THREADS</code><br><code>--hono.coap.coapThreads</code></td>
-<td align="center">no</td>
-<td align="left">2</td>
-<td align="left">The number of threads to use for processing CoAP message exchanges at the protocol layer.</td>
+<td style="text-align:left"><code>HONO_COAP_COAP_THREADS</code><br><code>--hono.coap.coapThreads</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">2</td>
+<td style="text-align:left">The number of threads to use for processing CoAP message exchanges at the protocol layer.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_CONNECTOR_THREADS</code><br><code>--hono.coap.connectorThreads</code></td>
-<td align="center">no</td>
-<td align="left">2</td>
-<td align="left">The number of threads to use for receiving/sending UDP packets. The connector will start the given number of threads for each direction, outbound (sending) as well as inbound (receiving).</td>
+<td style="text-align:left"><code>HONO_COAP_CONNECTOR_THREADS</code><br><code>--hono.coap.connectorThreads</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">2</td>
+<td style="text-align:left">The number of threads to use for receiving/sending UDP packets. The connector will start the given number of threads for each direction, outbound (sending) as well as inbound (receiving).</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_DTLS_THREADS</code><br><code>--hono.coap.dtlsThreads</code></td>
-<td align="center">no</td>
-<td align="left">32</td>
-<td align="left">The number of threads to use for processing DTLS message exchanges at the connection layer.</td>
+<td style="text-align:left"><code>HONO_COAP_DTLS_THREADS</code><br><code>--hono.coap.dtlsThreads</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">32</td>
+<td style="text-align:left">The number of threads to use for processing DTLS message exchanges at the connection layer.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_DTLS_RETRANSMISSION_TIMEOUT</code><br><code>--hono.coap.dtlsRetransmissionTimeout</code></td>
-<td align="center">no</td>
-<td align="left">2000</td>
-<td align="left">The timeout in milliseconds for DTLS retransmissions.</td>
+<td style="text-align:left"><code>HONO_COAP_DTLS_RETRANSMISSION_TIMEOUT</code><br><code>--hono.coap.dtlsRetransmissionTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">2000</td>
+<td style="text-align:left">The timeout in milliseconds for DTLS retransmissions.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_DEFAULTS_ENABLED</code><br><code>--hono.coap.defaultsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+<td style="text-align:left"><code>HONO_COAP_DEFAULTS_ENABLED</code><br><code>--hono.coap.defaultsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_EXCHANGE_LIFETIME</code><br><code>--hono.coap.exchangeLifetime</code></td>
-<td align="center">no</td>
-<td align="left">247000</td>
-<td align="left">The exchange lifetime in milliseconds. According RFC 7252, that value is 247s. Such a large time requires also a huge amount of heap. That time includes a processing time of 100s and retransmissions of CON messages. Therefore a practical value could be much smaller.</td>
+<td style="text-align:left"><code>HONO_COAP_EXCHANGE_LIFETIME</code><br><code>--hono.coap.exchangeLifetime</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">247000</td>
+<td style="text-align:left">The exchange lifetime in milliseconds. According RFC 7252, that value is 247s. Such a large time requires also a huge amount of heap. That time includes a processing time of 100s and retransmissions of CON messages. Therefore a practical value could be much smaller.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_INSECURE_NETWORK_CONFIG</code><br><code>--hono.coap.insecureNetworkConfig</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to a Californium properties file containing network configuration properties that should be used for the insecure CoAP port. If not set, Californium&rsquo;s default properties will be used.</td>
+<td style="text-align:left"><code>HONO_COAP_INSECURE_NETWORK_CONFIG</code><br><code>--hono.coap.insecureNetworkConfig</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to a Californium properties file containing network configuration properties that should be used for the insecure CoAP port. If not set, Californium&rsquo;s default properties will be used.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_INSECURE_PORT</code><br><code>--hono.coap.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COAP_INSECURE_PORT</code><br><code>--hono.coap.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.coap.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COAP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.coap.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_INSECURE_PORT_ENABLED</code><br><code>--hono.coap.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_COAP_INSECURE_PORT</code> or the default port number (<code>5683</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COAP_INSECURE_PORT_ENABLED</code><br><code>--hono.coap.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_COAP_INSECURE_PORT</code> or the default port number (<code>5683</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_KEY_PATH</code><br><code>--hono.coap.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COAP_CERT_PATH</code>. Alternatively, the <code>HONO_COAP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_COAP_KEY_PATH</code><br><code>--hono.coap.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COAP_CERT_PATH</code>. Alternatively, the <code>HONO_COAP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_KEY_STORE_PASSWORD</code><br><code>--hono.coap.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_COAP_KEY_STORE_PASSWORD</code><br><code>--hono.coap.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_KEY_STORE_PATH</code><br><code>--hono.coap.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_COAP_KEY_PATH</code> and <code>HONO_COAP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_COAP_KEY_STORE_PATH</code><br><code>--hono.coap.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_COAP_KEY_PATH</code> and <code>HONO_COAP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_MAX_CONNECTIONS</code><br><code>--hono.coap.maxConnections</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The maximum number of concurrent DTLS connections that the protocol adapter should accept. If set to <code>0</code>, the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+<td style="text-align:left"><code>HONO_COAP_MAX_CONNECTIONS</code><br><code>--hono.coap.maxConnections</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The maximum number of concurrent DTLS connections that the protocol adapter should accept. If set to <code>0</code>, the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_MAX_PAYLOAD_SIZE</code><br><code>--hono.coap.maxPayloadSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>2048</code></td>
-<td align="left">The maximum allowed size of an incoming CoAP request&rsquo;s body in bytes. Requests with a larger body size are rejected with a 4.13 <code>Request entity too large</code> response.</td>
+<td style="text-align:left"><code>HONO_COAP_MAX_PAYLOAD_SIZE</code><br><code>--hono.coap.maxPayloadSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>2048</code></td>
+<td style="text-align:left">The maximum allowed size of an incoming CoAP request&rsquo;s body in bytes. Requests with a larger body size are rejected with a 4.13 <code>Request entity too large</code> response.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_MESSAGE_OFFLOADING_ENABLED</code><br><code>--hono.coap.messageOffloadingEnabled</code></td>
-<td align="center">no</td>
-<td align="left">true</td>
-<td align="left">Enables to clear payload and serialized messages kept for deduplication in order to reduce the heap consumption. Experimental.</td>
+<td style="text-align:left"><code>HONO_COAP_MESSAGE_OFFLOADING_ENABLED</code><br><code>--hono.coap.messageOffloadingEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">true</td>
+<td style="text-align:left">Enables to clear payload and serialized messages kept for deduplication in order to reduce the heap consumption. Experimental.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_NETWORK_CONFIG</code><br><code>--hono.coap.networkConfig</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to a Californium properties file containing network configuration properties that should be used for the secure CoAP port. If not set, Californium&rsquo;s default properties will be used.</td>
+<td style="text-align:left"><code>HONO_COAP_NETWORK_CONFIG</code><br><code>--hono.coap.networkConfig</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to a Californium properties file containing network configuration properties that should be used for the secure CoAP port. If not set, Californium&rsquo;s default properties will be used.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_PORT</code><br><code>--hono.coap.port</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COAP_PORT</code><br><code>--hono.coap.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.coap.tenantIdleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>0ms</code></td>
-<td align="left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
+<td style="text-align:left"><code>HONO_COAP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.coap.tenantIdleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0ms</code></td>
+<td style="text-align:left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COAP_TIMEOUT_TO_ACK</code><br><code>--hono.coap.timeoutToAck</code></td>
-<td align="center">no</td>
-<td align="left">500</td>
-<td align="left">Timeout in milliseconds to send an ACK for a CoAP CON request. If the response is available before that timeout, a more efficient piggybacked response is used. If the timeout is reached without having received a response, an empty ACK is sent back to the client and the response is sent in a separate CON once it becomes available. Special values: <code>-1</code>  means to always piggyback the response in an ACK and never send a separate CON; <code>0</code> means to always send an ACK immediately and include the response in a separate CON.</td>
+<td style="text-align:left"><code>HONO_COAP_TIMEOUT_TO_ACK</code><br><code>--hono.coap.timeoutToAck</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">500</td>
+<td style="text-align:left">Timeout in milliseconds to send an ACK for a CoAP CON request. If the response is available before that timeout, a more efficient piggybacked response is used. If the timeout is reached without having received a response, an empty ACK is sent back to the client and the response is sent in a separate CON once it becomes available. Special values: <code>-1</code>  means to always piggyback the response in an ACK and never send a separate CON; <code>0</code> means to always send an ACK immediately and include the response in a separate CON.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value needs to be changed.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The CoAP protocol adapter can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The CoAP protocol adapter will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The protocol adapter opens a DTLS secured port if any of the following criteria are met</p>
-
 <ul>
 <li>The <code>HONO_COAP_KEY_STORE_PATH</code> and <code>HONO_COAP_KEY_STORE_PASSWORD</code> environment variables are set in order to load a key and certificate from a password protected key store or</li>
 <li>the <code>HONO_COAP_KEY_PATH</code> and <code>HONO_COAP_CERT_PATH</code> environment variables are set in order to load a key and certificate from two separate PEM files in PKCS8 format or</li>
 <li>the <code>HONO_COAP_PORT</code> environment variable is set to a valid port number.</li>
 </ul>
-
 <p>When starting up, the protocol adapter will bind a DTLS secured UDP socket to the configured port. If the port is not set explicitly, the default CoAP secure port 5684 is used.</p>
-
 <p>The <code>HONO_COAP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only,
 i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose
 the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-DTLS secured port instead, e.g. for testing purposes.
 In any case, the non-secure port needs to be explicitly enabled by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_COAP_AUTHENTICATION_REQUIRED</code> to <code>false</code> and either
-
 <ul>
 <li>explicitly setting <code>HONO_COAP_INSECURE_PORT</code> to a valid port number or</li>
 <li>implicitly configuring the default insecure CoAP port (5683) by setting <code>HONO_COAP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
-</ul></li>
 </ul>
-
+</li>
+</ul>
 <p>The protocol adapter issues a warning on the console if <code>HONO_COAP_INSECURE_PORT</code> is set to the default secure CoAP port (5684).</p>
-
 <p>The <code>HONO_COAP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only,
 i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-DTLS secured port on a local interface only, thus providing easy access from within
 the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>The insecure port will only be bound if the <code>HONO_COAP_AUTHENTICATION_REQUIRED</code> variable is set to <code>false</code> because CoAP authenticates clients (devices) as
 part of the DTLS handshake. Thus, requiring devices to authenticate effectively rules out setting up a non-DTLS secured port.</div>
 </div>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work,
 both ports must be configured to use different port numbers, otherwise startup will fail.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
 <h2 id="authentication">Authentication</h2>
-
 <p>The CoAP protocol is UDP based and as such uses the DTLS protocol to secure the communication between a client (device) and a server (adapter). The CoAP adapter also uses the DTLS handshake
 to prove its identity to devices and to authenticate the devices themselves. The DTLS protocol allows for different <em>cipher suites</em> to be
-used for doing so. These suites mainly differ from each other in the type of secret being used for proving the participants&rsquo; identity to each other.
+used for doing so. These suites mainly differ from each other in the type of secret being used for proving the participants' identity to each other.
 One class of suites is based on a secret that is shared between the client and the server, very much like in a username/password based authentication scheme. This class of suites
 is called <em>pre-shared key</em> or PSK-based and is very popular for use cases where the devices are very constrained regarding CPU and memory. Another class of cipher suites is based
 on certificates which use asymmetric encryption for proving possession of the secret (the private key). The CoAP adapter supports cipher suites from both classes but only supports
 <em>elliptic curve cryptography</em> (ECC) based keys for the latter class of cipher suites.</p>
-
 <p>When enabling the secure port without configuring an ECC based key and certificate, the adapter will only use PSK based cipher suites for authentication.
 When configuring an ECC based key and certificate, the adapter will also offer certificate based cipher suites to the client to use for authentication.</p>
-
 <p>In any case the device&rsquo;s credentials need to be registered with the device registry. Please refer to the <a href="/hono/docs/1.6/api/credentials/#standard-credential-types">Standard Credential Types</a>
 and the <a href="/hono/docs/1.6/api/management/">Device Registry Management API</a> for additional information.</p>
 
@@ -3293,19 +3282,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/command-router-config/index.html b/docs/1.6/admin-guide/command-router-config/index.html
index 994aa1e..46dbfa1 100644
--- a/docs/1.6/admin-guide/command-router-config/index.html
+++ b/docs/1.6/admin-guide/command-router-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Configuring the Command Router Service :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/command-router-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/command-router-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/command-router-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/command-router-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/command-router-config/">1.5</option>
@@ -1698,6 +1732,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/command-router-config/">dev</option>
@@ -1754,6 +1790,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1810,27 +1852,26 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#command-control-connection-configuration">Command &amp; Control Connection Configuration</a></li>
-<li><a href="#data-grid-connection-configuration">Data Grid Connection Configuration</a>
-<ul>
-<li><a href="#remote-cache">Remote cache</a></li>
-<li><a href="#embedded-cache">Embedded cache</a></li>
-</ul></li>
-<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#command--control-connection-configuration">Command &amp; Control Connection Configuration</a></li>
+    <li><a href="#data-grid-connection-configuration">Data Grid Connection Configuration</a>
+      <ul>
+        <li><a href="#remote-cache">Remote cache</a></li>
+        <li><a href="#embedded-cache">Embedded cache</a></li>
+      </ul>
+    </li>
+    <li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1854,357 +1895,280 @@
         
 
 
-<p>The Command Router service provides an implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.6/api/command-router/">Command Router API</a>.</p>
-
+<p>The Command Router service provides an implementation of Eclipse Hono™&rsquo;s <a href="/hono/docs/1.6/api/command-router/">Command Router API</a>.</p>
 <p><em>Protocol Adapters</em> use the <em>Command Router API</em> to supply information with which a Command Router service component can route command &amp; control messages to the protocol adapters that the target devices are connected to.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Tech preview</h4>
     <div>This component is not considered production ready yet. It is meant as a replacement for the component implementing the <a href="/hono/docs/1.6/api/device-connection/">Device Connection API</a>.
 It can be used by configuring the <a href="/hono/docs/1.6/admin-guide/common-config/#command-router-service-connection-configuration">Command Router service connection properties</a>, instead of the Device Connection service connection properties, in the protocol adapter.</div>
 </div>
-
 <p>The Command Router component provides an implementation of the Command Router API which uses a remote <em>data grid</em> for storing information about device connections. The data grid can be scaled out independently from the Command Router service components to meet the storage demands at hand.</p>
-
 <p>The Command Router component is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-command-router/">Docker image</a> created from it.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>In addition to the following options, this component supports the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Command Router component.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of Verticle instances to deploy. If not set, one Verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of Verticle instances to deploy. If not set, one Verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_BIND_ADDRESS</code><br><code>--hono.commandRouter.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_BIND_ADDRESS</code><br><code>--hono.commandRouter.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code><br><code>--hono.commandRouter.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code><br><code>--hono.commandRouter.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code><br><code>--hono.commandRouter.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code><br><code>--hono.commandRouter.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.commandRouter.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.commandRouter.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.commandRouter.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.commandRouter.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code><br><code>--hono.commandRouter.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code><br><code>--hono.commandRouter.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.commandRouter.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.commandRouter.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code><br><code>--hono.commandRouter.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code> and <code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code><br><code>--hono.commandRouter.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code> and <code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.commandRouter.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.commandRouter.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_PORT</code><br><code>--hono.commandRouter.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_PORT</code><br><code>--hono.commandRouter.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_RECEIVER_LINK_CREDIT</code><br><code>--hono.commandRouter.amqp.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the service&rsquo;s AMQP endpoint.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_RECEIVER_LINK_CREDIT</code><br><code>--hono.commandRouter.amqp.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the service&rsquo;s AMQP endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.commandRouter.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.commandRouter.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Command Router component supports configuration of an AMQP based endpoint that can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The server will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The server needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>Setting the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PATH</code> and the <code>HONO_COMMANDROUTER_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_COMMANDROUTER_AMQP_KEY_PATH</code> and <code>HONO_COMMANDROUTER_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_COMMANDROUTER_AMQP_PORT</code> variable.</p>
-
 <p>The <code>HONO_COMMANDROUTER_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The server issues a warning on the console if <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>
-
 <p>The <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
-
 <p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
-
 <p>Since the secure port may need different visibility in the network setup compared to the secure port, it has its own binding address <code>HONO_COMMANDROUTER_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
 This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The Command Router component will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
-<h2 id="command-control-connection-configuration">Command &amp; Control Connection Configuration</h2>
-
+<h2 id="command--control-connection-configuration">Command &amp; Control Connection Configuration</h2>
 <p>The Command Router component requires a connection to the <em>AMQP 1.0 Messaging Network</em> in order to receive
 commands from downstream applications and forward them on a specific link on which the target protocol adapter will receive them.</p>
-
 <p>The connection is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 with <code>HONO_COMMAND</code> being used as <code>${PREFIX}</code>. The properties for configuring response caching can be ignored.</p>
-
 <h2 id="data-grid-connection-configuration">Data Grid Connection Configuration</h2>
-
 <p>The Command Router component requires either an embedded cache or a remote
 data grid, using the Infinispan Hotrod protocol to store device information.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the common aspects of the service:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CACHENAME</code><br><code>--hono.commandRouter.cache.common.cacheName</code></td>
-<td align="center">no</td>
-<td align="left"><code>command-router</code></td>
-<td align="left">The name of the cache</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CACHENAME</code><br><code>--hono.commandRouter.cache.common.cacheName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>command-router</code></td>
+<td style="text-align:left">The name of the cache</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CHECKKEY</code><br><code>--hono.commandRouter.cache.common.checkKey</code></td>
-<td align="center">no</td>
-<td align="left"><code>KEY_CONNECTION_CHECK</code></td>
-<td align="left">The key used to check the health of the cache. This is only used in case of a remote cache.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CHECKKEY</code><br><code>--hono.commandRouter.cache.common.checkKey</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>KEY_CONNECTION_CHECK</code></td>
+<td style="text-align:left">The key used to check the health of the cache. This is only used in case of a remote cache.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CHECKVALUE</code><br><code>--hono.commandRouter.cache.common.checkValue</code></td>
-<td align="center">no</td>
-<td align="left"><code>VALUE_CONNECTION_CHECK</code></td>
-<td align="left">The value used to check the health of the cache. This is only used in case of a remote cache.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_COMMON_CHECKVALUE</code><br><code>--hono.commandRouter.cache.common.checkValue</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>VALUE_CONNECTION_CHECK</code></td>
+<td style="text-align:left">The value used to check the health of the cache. This is only used in case of a remote cache.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The type of the cache is selected on startup by enabling or disabling the
 profile <code>embedded-cache</code>. If the profile is enabled the embedded cache is
 used, otherwise the remote cache is being used. The remote cache is the default.</p>
-
 <h3 id="remote-cache">Remote cache</h3>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the connection to the data grid:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_SERVERLIST</code><br><code>--hono.commandRouter.cache.remote.serverList</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_SERVERLIST</code><br><code>--hono.commandRouter.cache.remote.serverList</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHSERVERNAME</code><br><code>--hono.commandRouter.cache.remote.authServerName</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHSERVERNAME</code><br><code>--hono.commandRouter.cache.remote.authServerName</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHREALM</code><br><code>--hono.commandRouter.cache.remote.authRealm</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The authentication realm for the SASL handshake when authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHREALM</code><br><code>--hono.commandRouter.cache.remote.authRealm</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The authentication realm for the SASL handshake when authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHUSERNAME</code><br><code>--hono.commandRouter.cache.remote.authUsername</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The username to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHUSERNAME</code><br><code>--hono.commandRouter.cache.remote.authUsername</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username to use for authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHPASSWORD</code><br><code>--hono.commandRouter.cache.remote.authPassword</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The password to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_REMOTE_AUTHPASSWORD</code><br><code>--hono.commandRouter.cache.remote.authPassword</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password to use for authenticating to the server.</td>
 </tr>
 </tbody>
 </table>
-
 <p>In general, the service supports all configuration properties of the <a href="https://docs.jboss.org/infinispan/10.1/apidocs/org/infinispan/client/hotrod/configuration/package-summary.html#package.description">Infinispan Hotrod client</a> using <code>hono.commandRouter.cache.remote</code> instead of the <code>infinispan.client.hotrod</code> prefix.</p>
-
 <h3 id="embedded-cache">Embedded cache</h3>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the embedded cache:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_COMMANDROUTER_CACHE_EMBEDDED_CONFIGURATIONFILE</code><br><code>--hono.commandRouter.cache.embedded.configurationFile</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The absolute path to an Infinispan configuration file. Also see the <a href="https://docs.jboss.org/infinispan/10.1/configdocs/">Infinispan Configuration Schema</a>.</td>
+<td style="text-align:left"><code>HONO_COMMANDROUTER_CACHE_EMBEDDED_CONFIGURATIONFILE</code><br><code>--hono.commandRouter.cache.embedded.configurationFile</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to an Infinispan configuration file. Also see the <a href="https://docs.jboss.org/infinispan/10.1/configdocs/">Infinispan Configuration Schema</a>.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
-
 <p>The Command Router component requires a connection to an implementation of Hono&rsquo;s Authentication API in order to authenticate and authorize client requests.</p>
-
 <p>The connection is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_AUTH</code>. Since Hono&rsquo;s Authentication Service does not allow caching of the responses, the cache properties
 can be ignored.</p>
-
 <p>In addition to the standard client configuration properties, following properties need to be set for the connection:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, the service falls back to the key indicated by the <code>HONO_AUTH_CERT_PATH</code> variable. If that variable is also not set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, the service falls back to the key indicated by the <code>HONO_AUTH_CERT_PATH</code> variable. If that variable is also not set, startup of the service fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the <code>HONO_AUTH_SIGNING_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the <code>HONO_AUTH_SIGNING_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
 
 <footer class="footline">
@@ -3318,19 +3282,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/common-config/index.html b/docs/1.6/admin-guide/common-config/index.html
index 1416831..0fe8108 100644
--- a/docs/1.6/admin-guide/common-config/index.html
+++ b/docs/1.6/admin-guide/common-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Common Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/common-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/common-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/common-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/common-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/common-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/common-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/common-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/common-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/common-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/common-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/common-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,32 +1992,28 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#java-vm-options">Java VM Options</a></li>
-<li><a href="#vert-x-options">Vert.x Options</a>
-<ul>
-<li><a href="#using-native-transport-on-linux-macos">Using Native Transport on Linux/MacOS</a></li>
-</ul></li>
-<li><a href="#protocol-adapter-options">Protocol Adapter Options</a>
-<ul>
-<li><a href="#amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
-<li><a href="#kafka-based-messaging-configuration">Kafka based Messaging Configuration</a></li>
-<li><a href="#command-control-connection-configuration">Command &amp; Control Connection Configuration</a></li>
-<li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
-<li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
-<li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
-<li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a>
-<ul>
-<li><a href="#direct-connection-to-data-grid">Direct Connection to Data Grid</a></li>
-</ul></li>
-<li><a href="#command-router-service-connection-configuration">Command Router Service Connection Configuration</a></li>
-<li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
-<li><a href="#connection-event-producer-configuration">Connection Event Producer Configuration</a></li>
-</ul></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#java-vm-options">Java VM Options</a></li>
+    <li><a href="#vertx-options">Vert.x Options</a>
+      <ul>
+        <li><a href="#using-native-transport-on-linuxmacos">Using Native Transport on Linux/MacOS</a></li>
+      </ul>
+    </li>
+    <li><a href="#protocol-adapter-options">Protocol Adapter Options</a>
+      <ul>
+        <li><a href="#amqp-10-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</a></li>
+        <li><a href="#kafka-based-messaging-configuration">Kafka based Messaging Configuration</a></li>
+        <li><a href="#command--control-connection-configuration">Command &amp; Control Connection Configuration</a></li>
+        <li><a href="#tenant-service-connection-configuration">Tenant Service Connection Configuration</a></li>
+        <li><a href="#device-registration-service-connection-configuration">Device Registration Service Connection Configuration</a></li>
+        <li><a href="#credentials-service-connection-configuration">Credentials Service Connection Configuration</a></li>
+        <li><a href="#device-connection-service-connection-configuration">Device Connection Service Connection Configuration</a></li>
+        <li><a href="#command-router-service-connection-configuration">Command Router Service Connection Configuration</a></li>
+        <li><a href="#resource-limits-checker-configuration">Resource Limits Checker Configuration</a></li>
+        <li><a href="#connection-event-producer-configuration">Connection Event Producer Configuration</a></li>
+      </ul>
+    </li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1991,302 +2039,229 @@
 
 <p>Many Hono components support a common set of configuration options. This section
 describes those options.</p>
-
 <p>Each component which supports the following options explicitly states so. If
 it doesn&rsquo;t, then these options are not supported by this component.</p>
-
 <h2 id="java-vm-options">Java VM Options</h2>
-
 <p>The Java VM started in Hono&rsquo;s components can be configured with arbitrary command line options by means of setting the <code>JDK_JAVA_OPTIONS</code> environment variable.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>JDK_JAVA_OPTIONS</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">Any options that should be passed to the Java VM on the command line, e.g. <code>-Xmx128m</code></td>
+<td style="text-align:left"><code>JDK_JAVA_OPTIONS</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">Any options that should be passed to the Java VM on the command line, e.g. <code>-Xmx128m</code></td>
 </tr>
 </tbody>
 </table>
-
-<h2 id="vert-x-options">Vert.x Options</h2>
-
+<h2 id="vertx-options">Vert.x Options</h2>
 <p>The vert.x framework instance used to run Hono&rsquo;s components on can be configured using the following environment variables or corresponding command line options:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_VERTX_DNS_QUERY_TIMEOUT</code><br><code>--hono.vertx.dnsQueryTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>5000</code></td>
-<td align="left">The amount of time (in milliseconds) after which a DNS query is considered to be failed. Setting this variable to a smaller value may help to reduce the time required to establish connections to the services this adapter depends on. However, setting it to a value that is too small for any DNS query to succeed will effectively prevent any connections to be established at all.</td>
+<td style="text-align:left"><code>HONO_VERTX_DNS_QUERY_TIMEOUT</code><br><code>--hono.vertx.dnsQueryTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5000</code></td>
+<td style="text-align:left">The amount of time (in milliseconds) after which a DNS query is considered to be failed. Setting this variable to a smaller value may help to reduce the time required to establish connections to the services this adapter depends on. However, setting it to a value that is too small for any DNS query to succeed will effectively prevent any connections to be established at all.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME</code><br><code>--hono.vertx.maxEventLoopExecuteTime</code></td>
-<td align="center">no</td>
-<td align="left"><code>PT2S</code></td>
-<td align="left">The maximum duration that a task on the event loop may run without being considered to block the event loop. The value needs to be a string that represents an <a href="https://en.wikipedia.org/wiki/ISO_8601#Durations">ISO-8601 Duration</a>.</td>
+<td style="text-align:left"><code>HONO_VERTX_MAX_EVENT_LOOP_EXECUTE_TIME</code><br><code>--hono.vertx.maxEventLoopExecuteTime</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>PT2S</code></td>
+<td style="text-align:left">The maximum duration that a task on the event loop may run without being considered to block the event loop. The value needs to be a string that represents an <a href="https://en.wikipedia.org/wiki/ISO_8601#Durations">ISO-8601 Duration</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_VERTX_PREFER_NATIVE</code><br><code>--hono.vertx.preferNative</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">Enables/disables <em>epoll()</em> support on Linux/MacOS. See the <a href="./#epoll">notes below</a> for an explanation of the benefits of enabling <em>epoll</em>. It is generally safe to set this property to <code>true</code> because Netty will disable native transport if the platform doesn&rsquo;t support it.</td>
+<td style="text-align:left"><code>HONO_VERTX_PREFER_NATIVE</code><br><code>--hono.vertx.preferNative</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">Enables/disables <em>epoll()</em> support on Linux/MacOS. See the <a href="./#epoll">notes below</a> for an explanation of the benefits of enabling <em>epoll</em>. It is generally safe to set this property to <code>true</code> because Netty will disable native transport if the platform doesn&rsquo;t support it.</td>
 </tr>
 </tbody>
 </table>
-
 <p><a name="epoll"></a></p>
-
-<h3 id="using-native-transport-on-linux-macos">Using Native Transport on Linux/MacOS</h3>
-
+<h3 id="using-native-transport-on-linuxmacos">Using Native Transport on Linux/MacOS</h3>
 <p>Using <code>epoll()</code> on Linux/MacOS may provide better performance for applications which
 have a high I/O throughput. Especially when the application supports an
 asynchronous I/O model. This is true for most Hono components and applications using Hono.</p>
-
 <p>The <em>Netty</em> framework supports using <code>epoll()</code> on Linux/MacOS x86_64 based systems.</p>
-
 <p>In order to use <em>epoll</em>, the <code>HONO_VERTX_PREFER_NATIVE</code> environment variable needs to be set to <code>true</code> on startup.</p>
-
 <h2 id="protocol-adapter-options">Protocol Adapter Options</h2>
-
-<h3 id="amqp-1-0-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h3>
-
+<h3 id="amqp-10-messaging-network-connection-configuration">AMQP 1.0 Messaging Network Connection Configuration</h3>
 <p>Protocol adapters require a connection to the <em>AMQP 1.0 Messaging Network</em> in order to forward telemetry data and events received from devices to downstream consumers.</p>
-
 <p>The connection to the messaging network is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 with <code>HONO_MESSAGING</code> being used as <code>${PREFIX}</code>. Since there are no responses being received, the properties for configuring response caching can be ignored.</p>
-
 <h3 id="kafka-based-messaging-configuration">Kafka based Messaging Configuration</h3>
-
-<p>Alternatively, protocol adapters can be configured to publish messages to an <em>Apache Kafka&reg; cluster</em> instead of
+<p>Alternatively, protocol adapters can be configured to publish messages to an <em>Apache Kafka® cluster</em> instead of
 an AMQP Messaging Network.</p>
-
 <p>The Kafka client is configured according to <a href="/hono/docs/1.6/admin-guide/hono-kafka-client-configuration/">Hono Kafka Client Configuration</a>.</p>
-
-<h3 id="command-control-connection-configuration">Command &amp; Control Connection Configuration</h3>
-
+<h3 id="command--control-connection-configuration">Command &amp; Control Connection Configuration</h3>
 <p>Protocol adapters require an additional connection to the <em>AMQP 1.0 Messaging Network</em> in order to receive
 commands from downstream applications and send responses to commands back to applications.</p>
-
 <p>The connection is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 with <code>HONO_COMMAND</code> being used as <code>${PREFIX}</code>. The properties for configuring response caching can be ignored.</p>
-
 <h3 id="tenant-service-connection-configuration">Tenant Service Connection Configuration</h3>
-
 <p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.6/api/tenant/">Tenant API</a> in order to retrieve information for a tenant.</p>
-
 <p>The connection to the Tenant Service is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_TENANT</code> and the additional values for response caching apply.</p>
-
 <p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
 If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
-
 <h3 id="device-registration-service-connection-configuration">Device Registration Service Connection Configuration</h3>
-
 <p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.6/api/device-registration/">Device Registration API</a> in order to retrieve registration status assertions for connected devices.</p>
-
 <p>The connection to the Device Registration Service is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_REGISTRATION</code>.</p>
-
 <p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
 If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
-
 <p>Note that the adapter uses a single cache for all responses from the service regardless of the tenant identifier.
 Consequently, the Device Registration Service client configuration&rsquo;s <em>responseCacheMinSize</em> and <em>responseCacheMaxSize</em> properties
 determine the overall number of responses that can be cached.</p>
-
 <h3 id="credentials-service-connection-configuration">Credentials Service Connection Configuration</h3>
-
 <p>Protocol adapters require a connection to an implementation of Hono&rsquo;s <a href="/hono/docs/1.6/api/credentials/">Credentials API</a> in order to retrieve credentials stored for devices that needs to be authenticated. During connection establishment, the adapter uses the Credentials API to retrieve the credentials on record for the device and matches that with the credentials provided by a device.</p>
-
 <p>The connection to the Credentials Service is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_CREDENTIALS</code>.</p>
-
 <p>The adapter caches the responses from the service according to the <em>cache directive</em> included in the response.
 If the response doesn&rsquo;t contain a <em>cache directive</em> no data will be cached.</p>
-
 <p>Note that the adapter uses a single cache for all responses from the service regardless of the tenant identifier.
 Consequently, the Credentials Service client configuration&rsquo;s <em>responseCacheMinSize</em> and <em>responseCacheMaxSize</em> properties
 determine the overall number of responses that can be cached.</p>
-
 <p><a name="device-connection-service-connection-configuration"></a></p>
-
 <h3 id="device-connection-service-connection-configuration">Device Connection Service Connection Configuration</h3>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
     <div>The Device Connection service is deprecated and will be replaced by the <a href="/hono/docs/1.6/admin-guide/command-router-config/">Command Router service</a>, implementing the <a href="/hono/docs/1.6/api/command-router/">Command Router API</a>.
 For now, depending on which of these service components is used, protocol adapters may configure the use of either the Device Connection service or the Command Router service as described <a href="./#command-router-service-connection-configuration">below</a>.</div>
 </div>
-
 <p>Protocol adapters connect to an implementation of Hono&rsquo;s <a href="/hono/docs/1.6/api/device-connection/">Device Connection API</a>
 in order to determine the gateway that a device is connected via to a protocol adapter. This information is required in order to
 forward commands issued by applications to the protocol adapter instance that the gateway is connected to.</p>
-
 <p>The connection to the Device Connection service is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_DEVICECONNECTION</code>.</p>
-
 <p>Responses from the Device Connection service are never cached, so the properties for configuring the cache are ignored.</p>
-
 <h4 id="direct-connection-to-data-grid">Direct Connection to Data Grid</h4>
-
 <p>Protocol adapters can alternatively be configured to directly access a data grid for storing and retrieving
 device connection information using <a href="https://infinispan.org">Infinispan</a>&rsquo;s Hotrod protocol.
 This has the advantage of saving the network hop to the Device Connection service. However,
 this is only beneficial if the Device Connection service implementation itself uses a remote service (like a data grid) for
 storing the data.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring
 the connection to the data grid:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_SERVER_LIST</code><br><code>--hono.deviceConnection.serverList</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_SERVER_LIST</code><br><code>--hono.deviceConnection.serverList</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AUTH_SERVER_NAME</code><br><code>--hono.deviceConnection.authServerName</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_SERVER_NAME</code><br><code>--hono.deviceConnection.authServerName</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AUTH_USERNAME</code><br><code>--hono.deviceConnection.authUsername</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The username to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_USERNAME</code><br><code>--hono.deviceConnection.authUsername</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username to use for authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AUTH_PASSWORD</code><br><code>--hono.deviceConnection.authPassword</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The password to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AUTH_PASSWORD</code><br><code>--hono.deviceConnection.authPassword</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password to use for authenticating to the server.</td>
 </tr>
 </tbody>
 </table>
-
 <p>In general, the service supports all configuration properties of the <a href="https://docs.jboss.org/infinispan/10.1/apidocs/org/infinispan/client/hotrod/configuration/package-summary.html#package.description">Infinispan Hotrod client</a> using <code>hono.deviceConnection</code> instead of the <code>infinispan.client.hotrod</code> prefix.</p>
-
 <p><a name="command-router-service-connection-configuration"></a></p>
-
 <h3 id="command-router-service-connection-configuration">Command Router Service Connection Configuration</h3>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>The Command Router service will replace the Device Connection service.
 For now, depending on which of these service components is used, protocol adapters may configure the use of either the Device Connection service as described <a href="./#device-connection-service-connection-configuration">above</a> or the Command Router service.</div>
 </div>
-
 <p>Protocol adapters connect to an implementation of Hono&rsquo;s <a href="/hono/docs/1.6/api/command-router/">Command Router API</a>
 in order to supply information with which a Command Router service component can route command &amp; control messages to the protocol adapters that the target devices are connected to.</p>
-
 <p>The connection to the Command Router service is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_COMMANDROUTER</code>.</p>
-
 <p>Responses from the Command Router service are never cached, so the properties for configuring the cache are ignored.</p>
-
 <h3 id="resource-limits-checker-configuration">Resource Limits Checker Configuration</h3>
-
 <p>The adapter can use metrics collected by a Prometheus server to enforce certain limits set at the tenant level like the overall number of connected devices allowed per tenant.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the checker.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_HOST</code><br><code>--hono.resourceLimits.prometheusBased.host</code></td>
-<td align="center">no</td>
-<td align="left"><code>localhost</code></td>
-<td align="left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_HOST</code><br><code>--hono.resourceLimits.prometheusBased.host</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>localhost</code></td>
+<td style="text-align:left">The host name or IP address of the Prometheus server to retrieve the metrics data from. This property needs to be set in order to enable the Prometheus based checks.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_PORT</code><br><code>--hono.resourceLimits.prometheusBased.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>9090</code></td>
-<td align="left">The port of the Prometheus server to retrieve metrics data from.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_PORT</code><br><code>--hono.resourceLimits.prometheusBased.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>9090</code></td>
+<td style="text-align:left">The port of the Prometheus server to retrieve metrics data from.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHEMINSIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMinSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>20</code></td>
-<td align="left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHEMINSIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMinSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>20</code></td>
+<td style="text-align:left">The minimum size of the cache to store the metrics data retrieved from the Prometheus server. The cache is used for storing the current amount of data exchanged with devices of tenants.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHEMAXSIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMaxSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHEMAXSIZE</code><br><code>--hono.resourceLimits.prometheusBased.cacheMaxSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The maximum size of the cache to store the metrics data retrieved from the Prometheus server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHETIMEOUT</code><br><code>--hono.resourceLimits.prometheusBased.cacheTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>15</code></td>
-<td align="left">The number of seconds after which the cached metrics data should be considered invalid.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CACHETIMEOUT</code><br><code>--hono.resourceLimits.prometheusBased.cacheTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>15</code></td>
+<td style="text-align:left">The number of seconds after which the cached metrics data should be considered invalid.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_QUERYTIMEOUT</code><br><code>--hono.resourceLimits.prometheusBased.queryTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>500</code></td>
-<td align="left">The number of milliseconds after which a request to a Prometheus server is closed. Setting zero or a negative value disables the timeout.</td>
+<td style="text-align:left"><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_QUERYTIMEOUT</code><br><code>--hono.resourceLimits.prometheusBased.queryTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>500</code></td>
+<td style="text-align:left">The number of milliseconds after which a request to a Prometheus server is closed. Setting zero or a negative value disables the timeout.</td>
 </tr>
 </tbody>
 </table>
-
 <p>In addition to the properties listed above, the resource limit checker also supports the properties listed below as documented in the
 <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>. These properties might be useful if a reverse proxy in front of
 the Prometheus server requires the client to use TLS and/or provide credentials for authentication.</p>
-
 <ul>
 <li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_CREDENTIALSPATH</code></li>
 <li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_HOSTNAMEVERIFICATIONREQUIRED</code></li>
@@ -2300,41 +2275,34 @@
 <li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_TRUSTSTOREPASSWORD</code></li>
 <li><code>HONO_RESOURCELIMITS_PROMETHEUSBASED_USERNAME</code></li>
 </ul>
-
 <h3 id="connection-event-producer-configuration">Connection Event Producer Configuration</h3>
-
 <p>Some of the protocol adapters report the establishment and termination of a connection with a device by means of a
 <a href="/hono/docs/1.6/concepts/connection-events/">Connection Event Producer</a>.</p>
-
 <p>The producer being used by the adapter can be configured as follows:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_CONNECTIONEVENTS_PRODUCER</code><br><code>--hono.connectionEvents.producer</code></td>
-<td align="center">no</td>
-<td align="left"><code>logging</code></td>
-<td align="left">The type of connection event producer to use for reporting the establishment/termination of device connections. Supported values are<br><code>none</code> - No information is reported at all.<br><code>logging</code> - All information is reported at <em>INFO</em> level via the logging framework.<br><code>events</code> - All information is being sent downstream as <a href="/hono/docs/1.6/api/event/#connection-event">Connection Events</a>.</td>
+<td style="text-align:left"><code>HONO_CONNECTIONEVENTS_PRODUCER</code><br><code>--hono.connectionEvents.producer</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>logging</code></td>
+<td style="text-align:left">The type of connection event producer to use for reporting the establishment/termination of device connections. Supported values are<br><code>none</code> - No information is reported at all.<br><code>logging</code> - All information is reported at <em>INFO</em> level via the logging framework.<br><code>events</code> - All information is being sent downstream as <a href="/hono/docs/1.6/api/event/#connection-event">Connection Events</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CONNECTIONEVENTS_LOGLEVEL</code><br><code>--hono.connectionEvents.logLevel</code></td>
-<td align="center">no</td>
-<td align="left"><code>info</code></td>
-<td align="left">The level to log connection information at. Supported values are <code>debug</code> and <code>info</code>.</td>
+<td style="text-align:left"><code>HONO_CONNECTIONEVENTS_LOGLEVEL</code><br><code>--hono.connectionEvents.logLevel</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>info</code></td>
+<td style="text-align:left">The level to log connection information at. Supported values are <code>debug</code> and <code>info</code>.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The <code>events</code> based connection event producer sets the TTL of event messages that it emits to the <em>max TTL</em> <a href="/hono/docs/1.6/api/tenant/#resource-limits-configuration-format">configured at the tenant level</a>.</p>
 
 <footer class="footline">
@@ -3445,19 +3413,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/device-connection-config/index.html b/docs/1.6/admin-guide/device-connection-config/index.html
index 4b369b5..d886bd7 100644
--- a/docs/1.6/admin-guide/device-connection-config/index.html
+++ b/docs/1.6/admin-guide/device-connection-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Configuring the Device Connection Service :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/device-connection-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/device-connection-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/device-connection-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/device-connection-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/device-connection-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/device-connection-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/device-connection-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/device-connection-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/device-connection-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/device-connection-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/device-connection-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,26 +1992,25 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#data-grid-connection-configuration">Data Grid Connection Configuration</a>
-<ul>
-<li><a href="#remote-cache">Remote cache</a></li>
-<li><a href="#embedded-cache">Embedded cache</a></li>
-</ul></li>
-<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#data-grid-connection-configuration">Data Grid Connection Configuration</a>
+      <ul>
+        <li><a href="#remote-cache">Remote cache</a></li>
+        <li><a href="#embedded-cache">Embedded cache</a></li>
+      </ul>
+    </li>
+    <li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1983,349 +2034,275 @@
         
 
 
-<p>The Device Connection service provides an implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.6/api/device-connection/">Device Connection API</a>.</p>
-
+<p>The Device Connection service provides an implementation of Eclipse Hono™&rsquo;s <a href="/hono/docs/1.6/api/device-connection/">Device Connection API</a>.</p>
 <p>Protocol adapters use this API to store and retrieve information about the gateway that a device is using to connect to Hono&rsquo;s protocol adapters. This information is necessary for routing commands to the particular protocol adapter instance that the gateway used by the device is connected to.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Deprecation</h4>
     <div>The Device Connection service is deprecated and will be replaced by the <a href="/hono/docs/1.6/admin-guide/command-router-config/">Command Router service</a>, implementing the <a href="/hono/docs/1.6/api/command-router/">Command Router API</a>.
 For now, either the Device Connection service or the Command Router service may be used by protocol adapters.</div>
 </div>
-
 <p>The Device Connection component provides a production grade implementation of the Device Connection API which uses a remote <em>data grid</em> for storing information about device connections. The data grid can be scaled out independently from the Device Connection service components to meet the storage demands at hand.</p>
-
 <p>The Device Connection component is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-device-connection/">Docker image</a> created from it.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>In addition to the following options, this component supports the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Device Connection component.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of Verticle instances to deploy. If not set, one Verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of Verticle instances to deploy. If not set, one Verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_BIND_ADDRESS</code><br><code>--hono.deviceConnection.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_BIND_ADDRESS</code><br><code>--hono.deviceConnection.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code><br><code>--hono.deviceConnection.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code><br><code>--hono.deviceConnection.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code><br><code>--hono.deviceConnection.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code><br><code>--hono.deviceConnection.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.deviceConnection.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.deviceConnection.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.deviceConnection.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.deviceConnection.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code><br><code>--hono.deviceConnection.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code><br><code>--hono.deviceConnection.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.deviceConnection.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.deviceConnection.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code><br><code>--hono.deviceConnection.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code> and <code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code><br><code>--hono.deviceConnection.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code> and <code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.deviceConnection.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.deviceConnection.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_PORT</code><br><code>--hono.deviceConnection.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_PORT</code><br><code>--hono.deviceConnection.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_RECEIVER_LINK_CREDIT</code><br><code>--hono.deviceConnection.amqp.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the service&rsquo;s AMQP endpoint.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_RECEIVER_LINK_CREDIT</code><br><code>--hono.deviceConnection.amqp.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the service&rsquo;s AMQP endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.deviceConnection.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.deviceConnection.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Device Connection component supports configuration of an AMQP based endpoint that can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The server will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The server needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>Setting the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PATH</code> and the <code>HONO_DEVICECONNECTION_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_DEVICECONNECTION_AMQP_KEY_PATH</code> and <code>HONO_DEVICECONNECTION_AMQP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the server will bind a TLS secured socket to the default secure AMQP port 5671. The port number can also be set explicitly using the <code>HONO_DEVICECONNECTION_AMQP_PORT</code> variable.</p>
-
 <p>The <code>HONO_DEVICECONNECTION_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default AMQP port (5672) by simply setting <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The server issues a warning on the console if <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT</code> is set to the default secure AMQP port (5671).</p>
-
 <p>The <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
-
 <p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
-
 <p>Since the secure port may need different visibility in the network setup compared to the secure port, it has its own binding address <code>HONO_DEVICECONNECTION_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
 This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The Device Connection component will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
 <h2 id="data-grid-connection-configuration">Data Grid Connection Configuration</h2>
-
 <p>The Device Connection component requires either an embedded cache or a remote
 data grid, using the Infinispan Hotrod protocol to store device information.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the common aspects of the service:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_COMMON_CACHENAME</code><br><code>--hono.deviceConnection.common.cacheName</code></td>
-<td align="center">no</td>
-<td align="left"><code>device-connection</code></td>
-<td align="left">The name of the cache</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_COMMON_CACHENAME</code><br><code>--hono.deviceConnection.common.cacheName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>device-connection</code></td>
+<td style="text-align:left">The name of the cache</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_COMMON_CHECKKEY</code><br><code>--hono.deviceConnection.common.checkKey</code></td>
-<td align="center">no</td>
-<td align="left"><code>KEY_CONNECTION_CHECK</code></td>
-<td align="left">The key used to check the health of the cache. This is only used in case of a remote cache.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_COMMON_CHECKKEY</code><br><code>--hono.deviceConnection.common.checkKey</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>KEY_CONNECTION_CHECK</code></td>
+<td style="text-align:left">The key used to check the health of the cache. This is only used in case of a remote cache.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_COMMON_CHECKVALUE</code><br><code>--hono.deviceConnection.common.checkValue</code></td>
-<td align="center">no</td>
-<td align="left"><code>VALUE_CONNECTION_CHECK</code></td>
-<td align="left">The value used to check the health of the cache. This is only used in case of a remote cache.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_COMMON_CHECKVALUE</code><br><code>--hono.deviceConnection.common.checkValue</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>VALUE_CONNECTION_CHECK</code></td>
+<td style="text-align:left">The value used to check the health of the cache. This is only used in case of a remote cache.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The type of the cache is selected on startup by enabling or disabling the
 profile <code>embedded-cache</code>. If the profile is enabled the embedded cache is
 used, otherwise the remote cache is being used. The remote cache is the default.</p>
-
 <h3 id="remote-cache">Remote cache</h3>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the connection to the data grid:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_REMOTE_SERVERLIST</code><br><code>--hono.deviceConnection.remote.serverList</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_REMOTE_SERVERLIST</code><br><code>--hono.deviceConnection.remote.serverList</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A list of remote servers in the form: <code>host1[:port][;host2[:port]]....</code>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHSERVERNAME</code><br><code>--hono.deviceConnection.remote.authServerName</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHSERVERNAME</code><br><code>--hono.deviceConnection.remote.authServerName</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The server name to indicate in the SASL handshake when authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHREALM</code><br><code>--hono.deviceConnection.remote.authRealm</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The authentication realm for the SASL handshake when authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHREALM</code><br><code>--hono.deviceConnection.remote.authRealm</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The authentication realm for the SASL handshake when authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHUSERNAME</code><br><code>--hono.deviceConnection.remote.authUsername</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The username to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHUSERNAME</code><br><code>--hono.deviceConnection.remote.authUsername</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username to use for authenticating to the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHPASSWORD</code><br><code>--hono.deviceConnection.remote.authPassword</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The password to use for authenticating to the server.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_REMOTE_AUTHPASSWORD</code><br><code>--hono.deviceConnection.remote.authPassword</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password to use for authenticating to the server.</td>
 </tr>
 </tbody>
 </table>
-
 <p>In general, the service supports all configuration properties of the <a href="https://docs.jboss.org/infinispan/10.1/apidocs/org/infinispan/client/hotrod/configuration/package-summary.html#package.description">Infinispan Hotrod client</a> using <code>hono.deviceConnection.remote</code> instead of the <code>infinispan.client.hotrod</code> prefix.</p>
-
 <h3 id="embedded-cache">Embedded cache</h3>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the embedded cache:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_DEVICECONNECTION_EMBEDDED_CONFIGURATIONFILE</code><br><code>--hono.deviceConnection.embedded.configurationFile</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The absolute path to an Infinispan configuration file. Also see the <a href="https://docs.jboss.org/infinispan/10.1/configdocs/">Infinispan Configuration Schema</a>.</td>
+<td style="text-align:left"><code>HONO_DEVICECONNECTION_EMBEDDED_CONFIGURATIONFILE</code><br><code>--hono.deviceConnection.embedded.configurationFile</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to an Infinispan configuration file. Also see the <a href="https://docs.jboss.org/infinispan/10.1/configdocs/">Infinispan Configuration Schema</a>.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
-
 <p>The Device Connection component requires a connection to an implementation of Hono&rsquo;s Authentication API in order to authenticate and authorize client requests.</p>
-
 <p>The connection is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_AUTH</code>. Since Hono&rsquo;s Authentication Service does not allow caching of the responses, the cache properties
 can be ignored.</p>
-
 <p>In addition to the standard client configuration properties, following properties need to be set for the connection:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, the service falls back to the key indicated by the <code>HONO_AUTH_CERT_PATH</code> variable. If that variable is also not set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the public key that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, the service falls back to the key indicated by the <code>HONO_AUTH_CERT_PATH</code> variable. If that variable is also not set, startup of the service fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the <code>HONO_AUTH_SIGNING_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an asymmetric key pair can be used for validating (and signing) by setting the <code>HONO_AUTH_SIGNING_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
 
 <footer class="footline">
@@ -3439,19 +3416,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/device-registry-config/index.html b/docs/1.6/admin-guide/device-registry-config/index.html
index b083e5f..2378054 100644
--- a/docs/1.6/admin-guide/device-registry-config/index.html
+++ b/docs/1.6/admin-guide/device-registry-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Device Registry Configurations :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757959" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757959" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757959" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757959" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757959"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757959"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757959"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757959"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/device-registry-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/device-registry-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/device-registry-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/device-registry-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/device-registry-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/device-registry-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/device-registry-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/device-registry-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/device-registry-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/device-registry-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/device-registry-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1939,7 +1991,7 @@
                 
                     <div class="progress">
     <div class="wrapper">
-
+<nav id="TableOfContents"></nav>
     </div>
 </div>
 
@@ -1962,7 +2014,7 @@
         
 
 
-<p>The configuration of Eclipse Hono&trade;s Device Registry implementations for the
+<p>The configuration of Eclipse Hono™s Device Registry implementations for the
 <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">File Based Device Registry</a>
 and for the
 <a href="/hono/docs/1.6/admin-guide/mongodb-device-registry-config/">MongoDB Based Device Registry</a>.</p>
@@ -3075,19 +3127,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757960"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757960"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757960"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757960"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757960"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757960"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757960"></script>
-    <script src="/hono/docs/js/learn.js?1617757960"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757960"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757960" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757960"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/file-based-device-registry-config/index.html b/docs/1.6/admin-guide/file-based-device-registry-config/index.html
index 1c71aff..838c507 100644
--- a/docs/1.6/admin-guide/file-based-device-registry-config/index.html
+++ b/docs/1.6/admin-guide/file-based-device-registry-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>File Based Device Registry Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/file-based-device-registry-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/file-based-device-registry-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/file-based-device-registry-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/file-based-device-registry-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/file-based-device-registry-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/file-based-device-registry-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/file-based-device-registry-config/">1.3</option>
@@ -1750,6 +1788,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/file-based-device-registry-config/">dev</option>
@@ -1806,6 +1846,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1862,25 +1908,23 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-<li><a href="#device-identities-file-format">Device Identities File Format</a></li>
-<li><a href="#credentials-file-format">Credentials File Format</a></li>
-<li><a href="#tenants-file-format">Tenants File Format</a></li>
-<li><a href="#configuring-gateway-devices">Configuring Gateway Devices</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+    <li><a href="#device-identities-file-format">Device Identities File Format</a></li>
+    <li><a href="#credentials-file-format">Credentials File Format</a></li>
+    <li><a href="#tenants-file-format">Tenants File Format</a></li>
+    <li><a href="#configuring-gateway-devices">Configuring Gateway Devices</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1904,607 +1948,495 @@
         
 
 
-<p>The File based Device Registry component provides an exemplary implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.6/api/device-registration/">Device Registration</a>, <a href="/hono/docs/1.6/api/credentials/">Credentials</a>, <a href="/hono/docs/1.6/api/tenant/">Tenant</a> and <a href="/hono/docs/1.6/api/device-connection/">Device Connection</a> APIs.</p>
-
+<p>The File based Device Registry component provides an exemplary implementation of Eclipse Hono™&rsquo;s <a href="/hono/docs/1.6/api/device-registration/">Device Registration</a>, <a href="/hono/docs/1.6/api/credentials/">Credentials</a>, <a href="/hono/docs/1.6/api/tenant/">Tenant</a> and <a href="/hono/docs/1.6/api/device-connection/">Device Connection</a> APIs.</p>
 <p>Protocol adapters use these APIs to determine a device&rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.</p>
-
 <p>There is no particular technical reason to implement these three APIs in one component, so for production scenarios there might be up to three different components each implementing one of the API&rsquo;s.</p>
-
 <p>The Device Registry component also exposes <a href="/hono/docs/1.6/api/management/">HTTP based resources</a> for managing tenants and the registration information and credentials of devices.</p>
-
 <p>The Device Registry is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-device-registry-file/">Docker image</a> created from it.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>In addition to the following options, this component supports the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Device Registry.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_TYPE</code><br><code>--hono.app.type</code></td>
-<td align="center">no</td>
-<td align="left"><code>file</code></td>
-<td align="left">The device registry implementation to use. This may be either <code>file</code> or <code>dummy</code>. In the case of <code>dummy</code> a dummy implementation will be used which will consider all devices queried for as valid devices, having the access credentials <code>hono-secret</code>. Of course this shouldn&rsquo;t be used for productive use.</td>
+<td style="text-align:left"><code>HONO_APP_TYPE</code><br><code>--hono.app.type</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>file</code></td>
+<td style="text-align:left">The device registry implementation to use. This may be either <code>file</code> or <code>dummy</code>. In the case of <code>dummy</code> a dummy implementation will be used which will consider all devices queried for as valid devices, having the access credentials <code>hono-secret</code>. Of course this shouldn&rsquo;t be used for productive use.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_FILENAME</code><br><code>--hono.credentials.svc.filename</code></td>
-<td align="center">no</td>
-<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>credentials.json</code></td>
-<td align="left">The path to the file where the server stores credentials of devices. Hono tries to read credentials from this file during start-up and writes out all identities to this file periodically if property <code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#credentials-file-format">Credentials File Format</a> for details regarding the file&rsquo;s format.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_FILENAME</code><br><code>--hono.credentials.svc.filename</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>/var/lib/hono/device-registry/</code><br><code>credentials.json</code></td>
+<td style="text-align:left">The path to the file where the server stores credentials of devices. Hono tries to read credentials from this file during start-up and writes out all identities to this file periodically if property <code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#credentials-file-format">Credentials File Format</a> for details regarding the file&rsquo;s format.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_HASH_ALGORITHMS_WHITELIST</code><br><code>--hono.credentials.svc.hashAlgorithmsWhitelist</code></td>
-<td align="center">no</td>
-<td align="left"><code>empty</code></td>
-<td align="left">An array of supported hashing algorithms to be used with the <code>hashed-password</code> type of credentials. When not set, all values will be accepted.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_HASH_ALGORITHMS_WHITELIST</code><br><code>--hono.credentials.svc.hashAlgorithmsWhitelist</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>empty</code></td>
+<td style="text-align:left">An array of supported hashing algorithms to be used with the <code>hashed-password</code> type of credentials. When not set, all values will be accepted.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code><br><code>--hono.credentials.svc.maxBcryptCostFactor</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code><br><code>--hono.credentials.svc.maxBcryptCostFactor</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">DEPRECATED Please use <code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code> instead.<br>The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">DEPRECATED Please use <code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code> instead.<br>The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code><br><code>--hono.credentials.svc.saveToFile</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will periodically write out the registered credentials to the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_SAVE_TO_FILE</code><br><code>--hono.credentials.svc.saveToFile</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will periodically write out the registered credentials to the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_STARTEMPTY</code><br><code>--hono.credentials.svc.startEmpty</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will not try to load credentials from the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property during startup.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_STARTEMPTY</code><br><code>--hono.credentials.svc.startEmpty</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will not try to load credentials from the file specified by the <code>HONO_CREDENTIALS_SVC_FILENAME</code> property during startup.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_DEVICE_CONNECTION_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.deviceConnection.svc.maxDevicesPerTenant</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of devices per tenant for which connection related data is stored. It is an error to set this property to a value &lt;= 0.</td>
+<td style="text-align:left"><code>HONO_DEVICE_CONNECTION_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.deviceConnection.svc.maxDevicesPerTenant</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of devices per tenant for which connection related data is stored. It is an error to set this property to a value &lt;= 0.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code><br><code>--hono.registry.http.tenantIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
-<td align="left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code><br><code>--hono.registry.http.tenantIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code><br><code>--hono.registry.http.deviceIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
-<td align="left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code><br><code>--hono.registry.http.deviceIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default HTTP port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default HTTP port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>8443</code></td>
-<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>8443</code></td>
+<td style="text-align:left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_TENANT_ID_PATTERN</code><br><code>--hono.registry.rest.tenantIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
-<td align="left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_TENANT_ID_PATTERN</code><br><code>--hono.registry.rest.tenantIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_DEVICE_ID_PATTERN</code><br><code>--hono.registry.rest.deviceIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
-<td align="left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_DEVICE_ID_PATTERN</code><br><code>--hono.registry.rest.deviceIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_BIND_ADDRESS</code><br><code>--hono.registry.rest.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_BIND_ADDRESS</code><br><code>--hono.registry.rest.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_CERT_PATH</code><br><code>--hono.registry.rest.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_CERT_PATH</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_CERT_PATH</code><br><code>--hono.registry.rest.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_CERT_PATH</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT</code><br><code>--hono.registry.rest.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_INSECURE_PORT</code><br><code>--hono.registry.rest.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.rest.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.rest.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.rest.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_REST_INSECURE_PORT</code> or the default HTTP port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.rest.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_REST_INSECURE_PORT</code> or the default HTTP port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_KEY_PATH</code><br><code>--hono.registry.rest.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_PATH</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_KEY_PATH</code><br><code>--hono.registry.rest.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_REST_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_REST_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_PATH</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PASSWORD</code><br><code>--hono.registry.rest.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_KEY_STORE_PASSWORD</code><br><code>--hono.registry.rest.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_KEY_STORE_PATH</code><br><code>--hono.registry.rest.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_REST_KEY_PATH</code> and <code>HONO_REGISTRY_REST_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_KEY_STORE_PATH</code><br><code>--hono.registry.rest.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_REST_KEY_PATH</code> and <code>HONO_REGISTRY_REST_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_REST_PORT</code><br><code>--hono.registry.rest.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>8443</code></td>
-<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_PORT</code> instead.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_REST_PORT</code><br><code>--hono.registry.rest.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>8443</code></td>
+<td style="text-align:left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.<br><strong>Deprecated</strong> Use <code>HONO_REGISTRY_HTTP_PORT</code> instead.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_FILENAME</code><br><code>--hono.registry.svc.filename</code></td>
-<td align="center">no</td>
-<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>device-identities.json</code></td>
-<td align="left">The path to the file where the server stores identities of registered devices. Hono tries to read device identities from this file during start-up and writes out all identities to this file periodically if property <code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#device-identities-file-format">Device Identities File Format</a> for details regarding the file&rsquo;s format.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_FILENAME</code><br><code>--hono.registry.svc.filename</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>/var/lib/hono/device-registry/</code><br><code>device-identities.json</code></td>
+<td style="text-align:left">The path to the file where the server stores identities of registered devices. Hono tries to read device identities from this file during start-up and writes out all identities to this file periodically if property <code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#device-identities-file-format">Device Identities File Format</a> for details regarding the file&rsquo;s format.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt;= 0.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt;= 0.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code><br><code>--hono.registry.svc.saveToFile</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will periodically write out the registered device information to the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_SAVE_TO_FILE</code><br><code>--hono.registry.svc.saveToFile</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will periodically write out the registered device information to the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code><br><code>--hono.registry.svc.signing.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting a device&rsquo;s registration status. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_REGISTRY_AMP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code><br><code>--hono.registry.svc.signing.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for signing tokens asserting a device&rsquo;s registration status. When using this variable, other services that need to validate the tokens issued by this service need to be configured with the corresponding certificate/public key. Alternatively, a symmetric key can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code> variable. If none of these variables is set, the server falls back to the key indicated by the <code>HONO_REGISTRY_AMP_KEY_PATH</code> variable. If that variable is also not set, startup of the server fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.registry.svc.signing.sharedSecret</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">A string to derive a symmetric key from that is used for signing tokens asserting a device&rsquo;s registration status. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_SIGNING_SHARED_SECRET</code><br><code>--hono.registry.svc.signing.sharedSecret</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A string to derive a symmetric key from that is used for signing tokens asserting a device&rsquo;s registration status. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the signing key using this variable, other services that need to validate the tokens issued by this service need to be configured with the same key. Alternatively, an asymmetric key pair can be used for signing (and validating) by setting the <code>HONO_REGISTRY_SVC_SIGNING_KEY_PATH</code> variable. If none of these variables is set, startup of the server fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.registry.svc.signing.tokenExpiration</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">The expiration period to use for the tokens asserting the registration status of devices.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_SIGNING_TOKEN_EXPIRATION</code><br><code>--hono.registry.svc.signing.tokenExpiration</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">The expiration period to use for the tokens asserting the registration status of devices.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_STARTEMPTY</code><br><code>--hono.registry.svc.startEmpty</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will not try to load device identities from the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property during startup.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_STARTEMPTY</code><br><code>--hono.registry.svc.startEmpty</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will not try to load device identities from the file specified by the <code>HONO_REGISTRY_SVC_FILENAME</code> property during startup.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_FILENAME</code><br><code>--hono.tenant.svc.filename</code></td>
-<td align="center">no</td>
-<td align="left"><code>/var/lib/hono/device-registry/</code><br><code>tenants.json</code></td>
-<td align="left">The path to the file where the server stores tenants. Hono tries to read tenants from this file during start-up and writes out all identities to this file periodically if property <code>HONO_TENANT_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#tenants-file-format">Tenants File Format</a> for details regarding the file&rsquo;s format.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_FILENAME</code><br><code>--hono.tenant.svc.filename</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>/var/lib/hono/device-registry/</code><br><code>tenants.json</code></td>
+<td style="text-align:left">The path to the file where the server stores tenants. Hono tries to read tenants from this file during start-up and writes out all identities to this file periodically if property <code>HONO_TENANT_SVC_SAVE_TO_FILE</code> is set to <code>true</code>.<br>Please refer to <a href="#tenants-file-format">Tenants File Format</a> for details regarding the file&rsquo;s format.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_SAVE_TO_FILE</code><br><code>--hono.tenant.svc.saveToFile</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will periodically write out the registered tenants to the file specified by the <code>HONO_TENANTS_SVC_TENANT_FILENAME</code> property.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_SAVE_TO_FILE</code><br><code>--hono.tenant.svc.saveToFile</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will periodically write out the registered tenants to the file specified by the <code>HONO_TENANTS_SVC_TENANT_FILENAME</code> property.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_STARTEMPTY</code><br><code>--hono.tenant.svc.startEmpty</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">When set to <code>true</code> the server will not try to load tenants from the file specified by the <code>HONO_TENANT_SVC_FILENAME</code> property during startup.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_STARTEMPTY</code><br><code>--hono.tenant.svc.startEmpty</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">When set to <code>true</code> the server will not try to load tenants from the file specified by the <code>HONO_TENANT_SVC_FILENAME</code> property during startup.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The file based Device Registry supports configuration of both an AMQP based endpoint exposing the Tenant, Device Registration and Credentials
 APIs as well as an HTTP based endpoint providing resources for managing tenants, registration information and credentials as defined by the
 <a href="/hono/docs/1.6/api/management/">Registry Management API</a>. Both endpoints can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The registry will fail to start if none of the ports is configured properly.</p>
-
 <p>The following sections apply to configuring both the AMQP and the HTTP endpoint. The environment variables to use for configuring
 the HTTP endpoint are the same as the ones for the AMQP endpoint, substituting <code>_AMQP_</code> with <code>_HTTP_</code>, e.g. <code>HONO_REGISTRY_HTTP_KEY_PATH</code>
 instead of <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The server needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>Setting the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> and the <code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code> variables in order to load the
 key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> variables in order to load the key and certificate
 from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the server will bind a TLS secured socket to the default secure port (<code>5671</code> for AMQP and <code>8443</code> for HTTP).
 The port number can also be set explicitly using the <code>HONO_REGISTRY_AMQP_PORT</code> variable.</p>
-
 <p>The <code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on.
 By default, the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this
 variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally
 to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead,
 e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default port (<code>5672</code> for AMQP and <code>8080</code> for HTTP) to be used by setting <code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code>
 to <code>true</code>.</li>
 </ul>
-
 <p>The server issues a warning on the console if one of the insecure ports is set to the corresponding default secure port.</p>
-
 <p>The <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on.
 By default, the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used
 to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring
 encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally
 to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>In test setups and some production scenarios Hono server may be configured to open one secure <strong>and</strong> one insecure port at the same time.</p>
-
 <p>This is achieved by configuring both ports correctly (see above). The server will fail to start if both ports are configured to use the same port number.</p>
-
 <p>Since the secure port may need different visibility in the network setup compared to the secure port, it has its own binding address
 <code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code>.
 This can be used to narrow the visibility of the insecure port to a local network e.g., while the secure port may be visible worldwide.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The Device Registry will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
 <h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
-
 <p>The Device Registry requires a connection to an implementation of Hono&rsquo;s Authentication API in order to authenticate and authorize client requests.</p>
-
 <p>The connection is configured according to <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client Configuration</a>
 where the <code>${PREFIX}</code> is set to <code>HONO_AUTH</code>. Since Hono&rsquo;s Authentication Service does not allow caching of the responses, the cache properties
 can be ignored.</p>
-
 <p>In addition to the standard client configuration properties, following properties may be set for the connection:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the an X.509 certificate that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_CERT_PATH</code><br><code>--hono.auth.validation.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the an X.509 certificate that the service should use for validating tokens issued by the Authentication service. Alternatively, a symmetric key can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_SHARED_SECRET</code> variable. If none of these variables is set, startup of the service fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an X.509 certificate can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
+<td style="text-align:left"><code>HONO_AUTH_VALIDATION_SHARED_SECRET</code><br><code>--hono.auth.validation.sharedSecret</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">A string to derive a symmetric key from which is used for validating tokens issued by the Authentication service. The key is derived from the string by using the bytes of the String&rsquo;s UTF8 encoding. When setting the validation key using this variable, the Authentication service <strong>must</strong> be configured with the same key. Alternatively, an X.509 certificate can be used for validating tokens by setting the <code>HONO_AUTH_VALIDATION_CERT_PATH</code> variable. If none of these variables is set, startup of the service fails.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_AUTH_SUPPORTED_SASL_MECHANISMS</code><br><code>--hono.auth.supportedSaslMechanisms</code></td>
-<td align="center">no</td>
-<td align="left"><code>EXTERNAL, PLAIN</code></td>
-<td align="left">A (comma separated) list of the SASL mechanisms that the device registry should offer to clients for authentication. This option may be set to specify only one of <code>EXTERNAL</code> or <code>PLAIN</code>, or to use a different order.</td>
+<td style="text-align:left"><code>HONO_AUTH_SUPPORTED_SASL_MECHANISMS</code><br><code>--hono.auth.supportedSaslMechanisms</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>EXTERNAL, PLAIN</code></td>
+<td style="text-align:left">A (comma separated) list of the SASL mechanisms that the device registry should offer to clients for authentication. This option may be set to specify only one of <code>EXTERNAL</code> or <code>PLAIN</code>, or to use a different order.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
-
 <h2 id="device-identities-file-format">Device Identities File Format</h2>
-
 <p>The Device Registry supports persisting the device identities and their registration information to a JSON file in the local file system.
 The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-device-identities.json</code>.</p>
-
 <h2 id="credentials-file-format">Credentials File Format</h2>
-
-<p>The Device Registry supports persisting the devices&rsquo; credentials to a JSON file in the local file system.
+<p>The Device Registry supports persisting the devices' credentials to a JSON file in the local file system.
 The <em>Getting started Guide</em> includes an example configuration which illustrates the file format used. The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-credentials.json</code>.</p>
-
 <h2 id="tenants-file-format">Tenants File Format</h2>
-
 <p>The Device Registry supports persisting tenants to a JSON file in the local file system.
 The configuration file&rsquo;s location is <code>/deploy/src/main/deploy/example-tenants.json</code>.</p>
-
 <h2 id="configuring-gateway-devices">Configuring Gateway Devices</h2>
-
 <p>The Device Registry supports devices to <em>act on behalf of</em> other devices. This is particularly useful for cases where a device does not connect directly to a Hono protocol adapter but is connected to a <em>gateway</em> component that is usually specific to the device&rsquo;s communication protocol. It is the gateway component which then connects to a Hono protocol adapter and publishes data on behalf of the device(s). Examples of such a set up include devices using <a href="https://www.sigfox.com">SigFox</a> or <a href="https://lora-alliance.org/">LoRa</a> for communication.</p>
-
 <p>In these cases the protocol adapter will authenticate the gateway component instead of the device for which it wants to publish data. In order to verify that the gateway is <em>authorized</em> to publish data on behalf of the particular device, the protocol adapter should include the gateway&rsquo;s device identifier (as determined during the authentication process) in its invocation of the Device Registration API&rsquo;s <em>assert Device Registration</em> operation.</p>
-
-<p>The Device Registry will then do the following:
-1. Verify that the device exists and is enabled.
-2. Verify that the gateway exists and is enabled.
-3. Verify that the device&rsquo;s registration information contains a property called <code>via</code> and that its value is either the gateway&rsquo;s device identifier or a JSON array which contains the gateway&rsquo;s device identifier as one of its values.</p>
-
+<p>The Device Registry will then do the following:</p>
+<ol>
+<li>Verify that the device exists and is enabled.</li>
+<li>Verify that the gateway exists and is enabled.</li>
+<li>Verify that the device&rsquo;s registration information contains a property called <code>via</code> and that its value is either the gateway&rsquo;s device identifier or a JSON array which contains the gateway&rsquo;s device identifier as one of its values.</li>
+</ol>
 <p>Only if all conditions are met, the Device Registry returns an assertion of the device&rsquo;s registration status. The protocol adapter can then forward the published data to the AMQP Messaging Network in the same way as for any device that connects directly to the adapter.</p>
-
 <p>The example configuration file (located at <code>/deploy/src/main/deploy/example-device-identities.json</code>) includes a device and a corresponding gateway configured in this way.</p>
 
 <footer class="footline">
@@ -3618,19 +3550,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/hono-client-configuration/index.html b/docs/1.6/admin-guide/hono-client-configuration/index.html
index d7643ed..6d67fe5 100644
--- a/docs/1.6/admin-guide/hono-client-configuration/index.html
+++ b/docs/1.6/admin-guide/hono-client-configuration/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Hono Client Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/hono-client-configuration/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/hono-client-configuration/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/hono-client-configuration/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/hono-client-configuration/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/hono-client-configuration/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/hono-client-configuration/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/hono-client-configuration/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/hono-client-configuration/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/hono-client-configuration/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/hono-client-configuration/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,15 +1992,12 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#connection-properties">Connection Properties</a></li>
-<li><a href="#response-caching">Response Caching</a></li>
-<li><a href="#using-tls">Using TLS</a></li>
-<li><a href="#address-rewriting">Address rewriting</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#connection-properties">Connection Properties</a></li>
+    <li><a href="#response-caching">Response Caching</a></li>
+    <li><a href="#using-tls">Using TLS</a></li>
+    <li><a href="#address-rewriting">Address rewriting</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1973,261 +2022,221 @@
 
 
 <p>The <code>org.eclipse.hono.client.HonoConnection</code> factory can be used to create AMQP 1.0 connections to Hono&rsquo;s service components.</p>
-
 <p>The factory uses environment variables and/or command line options to configure the connection to the service and the caching of
 responses to service invocations. All variables used for configuring the connection factory for a particular service share a
 common <em>prefix</em>. This way, multiple sets of variables can be used to configure multiple factories for connecting to different
 service endpoints without interfering with each other. For example, the set of variables for configuring the connection factory
 for the Device Registration service may use the common prefix <code>HONO_REGISTRATION</code> whereas the set for configuring the factory
 for the Credentials service may use <code>HONO_CREDENTIALS</code>.</p>
-
 <h2 id="connection-properties">Connection Properties</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring
 the AMQP connection to the service.
 Note that the variables map to the properties of classes <code>org.eclipse.hono.config.ClientConfigProperties</code>
 and <code>org.eclipse.client.RequestResponseClientConfigProperties</code> which can be used to programmatically configure a client.</p>
-
 <p>The variable names contain <code>${PREFIX}</code> as a placeholder for the particular <em>common prefix</em> being used. The <code>${prefix}</code> placeholder
 used in the command line option name is the same as <code>${PREFIX}</code>, using all lower case characters and <code>.</code> instead of <code>_</code> as the
 delimiter,  e.g. the variable prefix <code>HONO_CREDENTIALS</code> corresponds to the command line option prefix <code>hono.credentials</code>).</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>${PREFIX}_AMQPHOSTNAME</code><br><code>--${prefix}.amqpHostname</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name to use as the <em>hostname</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment. This variable can be used to indicate the <em>virtual host</em> to connect to on the server.</td>
+<td style="text-align:left"><code>${PREFIX}_AMQPHOSTNAME</code><br><code>--${prefix}.amqpHostname</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name to use as the <em>hostname</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment. This variable can be used to indicate the <em>virtual host</em> to connect to on the server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_CERTPATH</code><br><code>--${prefix}.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the client should use for authenticating to the server. This variable must be used in conjunction with <code>${PREFIX}_KEY_PATH</code>.<br>Alternatively, the <code>${PREFIX}_KEYSTOREPATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>${PREFIX}_CERTPATH</code><br><code>--${prefix}.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the client should use for authenticating to the server. This variable must be used in conjunction with <code>${PREFIX}_KEY_PATH</code>.<br>Alternatively, the <code>${PREFIX}_KEYSTOREPATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_CONNECTTIMEOUT</code><br><code>--${prefix}.connectTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>5000</code></td>
-<td align="left">The maximum amount of time (milliseconds) that the client should wait for the AMQP connection to be opened. This includes the time for TCP/TLS connection establishment, SASL handshake and exchange of the AMQP <em>open</em> frame. This property can be used to tune the time period to wait according to the network latency involved with the connection between the client and the service.</td>
+<td style="text-align:left"><code>${PREFIX}_CONNECTTIMEOUT</code><br><code>--${prefix}.connectTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5000</code></td>
+<td style="text-align:left">The maximum amount of time (milliseconds) that the client should wait for the AMQP connection to be opened. This includes the time for TCP/TLS connection establishment, SASL handshake and exchange of the AMQP <em>open</em> frame. This property can be used to tune the time period to wait according to the network latency involved with the connection between the client and the service.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_CREDENTIALSPATH</code><br><code>--${prefix}.credentialsPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to a properties file that contains a <em>username</em> and a <em>password</em> property to use for authenticating to the service.<br>This variable is an alternative to using <code>${PREFIX}_USERNAME</code> and <code>${PREFIX}_PASSWORD</code> which has the advantage of not needing to expose the secret (password) in the client process&rsquo; environment.</td>
+<td style="text-align:left"><code>${PREFIX}_CREDENTIALSPATH</code><br><code>--${prefix}.credentialsPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to a properties file that contains a <em>username</em> and a <em>password</em> property to use for authenticating to the service.<br>This variable is an alternative to using <code>${PREFIX}_USERNAME</code> and <code>${PREFIX}_PASSWORD</code> which has the advantage of not needing to expose the secret (password) in the client process' environment.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_FLOWLATENCY</code><br><code>--${prefix}.flowLatency</code></td>
-<td align="center">no</td>
-<td align="left"><code>20</code></td>
-<td align="left">The maximum amount of time (milliseconds) that the client should wait for <em>credits</em> after a link to the service has been established.</td>
+<td style="text-align:left"><code>${PREFIX}_FLOWLATENCY</code><br><code>--${prefix}.flowLatency</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>20</code></td>
+<td style="text-align:left">The maximum amount of time (milliseconds) that the client should wait for <em>credits</em> after a link to the service has been established.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_HOST</code><br><code>--${prefix}.host</code></td>
-<td align="center">no</td>
-<td align="left"><code>localhost</code></td>
-<td align="left">The IP address or name of the host to connect to. <strong>NB</strong> This needs to be set to an address that can be resolved within the network the client runs on. When running as a Docker container, use Docker&rsquo;s <code>--network</code> command line option to attach the local container to the Docker network that the service is running on.</td>
+<td style="text-align:left"><code>${PREFIX}_HOST</code><br><code>--${prefix}.host</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>localhost</code></td>
+<td style="text-align:left">The IP address or name of the host to connect to. <strong>NB</strong> This needs to be set to an address that can be resolved within the network the client runs on. When running as a Docker container, use Docker&rsquo;s <code>--network</code> command line option to attach the local container to the Docker network that the service is running on.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_HOSTNAMEVERIFICATIONREQUIRED</code><br><code>--${prefix}.hostnameVerificationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">A flag indicating whether the value of the <code>${PREFIX}_HOST</code> variable must match the <em>distinguished name</em> or any of the <em>alternative names</em> asserted by the server&rsquo;s certificate when connecting using TLS.</td>
+<td style="text-align:left"><code>${PREFIX}_HOSTNAMEVERIFICATIONREQUIRED</code><br><code>--${prefix}.hostnameVerificationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">A flag indicating whether the value of the <code>${PREFIX}_HOST</code> variable must match the <em>distinguished name</em> or any of the <em>alternative names</em> asserted by the server&rsquo;s certificate when connecting using TLS.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_IDLETIMEOUT</code><br><code>--${prefix}.idleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>16000</code></td>
-<td align="left">Sets the amount of time in milliseconds after which a connection will be closed when no frames have been received from the remote peer. This property is also used to configure a heartbeat mechanism, checking that the connection is still alive. The corresponding heartbeat interval will be set to <em>idleTimeout/2</em> ms.</td>
+<td style="text-align:left"><code>${PREFIX}_IDLETIMEOUT</code><br><code>--${prefix}.idleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>16000</code></td>
+<td style="text-align:left">Sets the amount of time in milliseconds after which a connection will be closed when no frames have been received from the remote peer. This property is also used to configure a heartbeat mechanism, checking that the connection is still alive. The corresponding heartbeat interval will be set to <em>idleTimeout/2</em> ms.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_INITIALCREDITS</code><br><code>--${prefix}.initialCredits</code></td>
-<td align="center">no</td>
-<td align="left"><code>200</code></td>
-<td align="left">The number of <em>credits</em> that a consuming client will initially issue to the service (sender) after link creation. This value effectively limits the number of messages that can be <em>in flight</em> unsettled.</td>
+<td style="text-align:left"><code>${PREFIX}_INITIALCREDITS</code><br><code>--${prefix}.initialCredits</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>200</code></td>
+<td style="text-align:left">The number of <em>credits</em> that a consuming client will initially issue to the service (sender) after link creation. This value effectively limits the number of messages that can be <em>in flight</em> unsettled.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_KEYPATH</code><br><code>--${prefix}.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the client should use for authenticating to the server. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the client process is running under. This variable must be used in conjunction with <code>${PREFIX}_CERTPATH</code>. Alternatively, the <code>${PREFIX}_KEYSTOREPATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>${PREFIX}_KEYPATH</code><br><code>--${prefix}.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the client should use for authenticating to the server. Note that the private key is not protected by a password. You should therefore make sure that the key file can only be read by the user that the client process is running under. This variable must be used in conjunction with <code>${PREFIX}_CERTPATH</code>. Alternatively, the <code>${PREFIX}_KEYSTOREPATH</code> variable can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_KEYSTOREPASSWORD</code><br><code>--${prefix}.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>${PREFIX}_KEYSTOREPASSWORD</code><br><code>--${prefix}.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_KEYSTOREPATH</code><br><code>--${prefix}.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the client should use for authenticating to the server. Either this variable or the <code>${PREFIX}_KEYPATH</code> and <code>${PREFIX}_CERTPATH</code> variables need to be set in order to enable <em>SASL External</em> based authentication to the server. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>${PREFIX}_KEYSTOREPATH</code><br><code>--${prefix}.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the client should use for authenticating to the server. Either this variable or the <code>${PREFIX}_KEYPATH</code> and <code>${PREFIX}_CERTPATH</code> variables need to be set in order to enable <em>SASL External</em> based authentication to the server. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_LINKESTABLISMENTTIMEOUT</code><br><code>--${prefix}.linkEstablishmentTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The maximum amount of time (milliseconds) that the client should wait for the service&rsquo;s <em>attach</em> frame during link establishment. This property can be used to tune the time period to wait according to the network latency involved with the communication link between the client and the service.</td>
+<td style="text-align:left"><code>${PREFIX}_LINKESTABLISMENTTIMEOUT</code><br><code>--${prefix}.linkEstablishmentTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The maximum amount of time (milliseconds) that the client should wait for the service&rsquo;s <em>attach</em> frame during link establishment. This property can be used to tune the time period to wait according to the network latency involved with the communication link between the client and the service.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_MAXFRAMESIZE</code><br><code>--${prefix}.maxFrameSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>-1</code></td>
-<td align="left">The maximum size (in bytes) of a single AMQP frame that the client should accept from the peer. When a peer sends a bigger frame, the connection will be closed. The default value of <code>-1</code> indicates that no limit is to be imposed.</td>
+<td style="text-align:left"><code>${PREFIX}_MAXFRAMESIZE</code><br><code>--${prefix}.maxFrameSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>-1</code></td>
+<td style="text-align:left">The maximum size (in bytes) of a single AMQP frame that the client should accept from the peer. When a peer sends a bigger frame, the connection will be closed. The default value of <code>-1</code> indicates that no limit is to be imposed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_MAXMESSAGESIZE</code><br><code>--${prefix}.maxMessageSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>-1</code></td>
-<td align="left">The maximum size of messages (in bytes) that the client should accept from a peer. The default value of <code>-1</code> indicates that messages of any size should be accepted.</td>
+<td style="text-align:left"><code>${PREFIX}_MAXMESSAGESIZE</code><br><code>--${prefix}.maxMessageSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>-1</code></td>
+<td style="text-align:left">The maximum size of messages (in bytes) that the client should accept from a peer. The default value of <code>-1</code> indicates that messages of any size should be accepted.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_MINMESSAGESIZE</code><br><code>--${prefix}.minMessageSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The minimum <em>max-message-size</em> (in bytes) that the client requires a peer to accept. The default value of <code>0</code> indicates that no minimum size is required. Sender link establishment will fail, if the <em>max-message-size</em> conveyed by the peer in its <em>attach</em> frame is smaller than this property&rsquo;s value.</td>
+<td style="text-align:left"><code>${PREFIX}_MINMESSAGESIZE</code><br><code>--${prefix}.minMessageSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The minimum <em>max-message-size</em> (in bytes) that the client requires a peer to accept. The default value of <code>0</code> indicates that no minimum size is required. Sender link establishment will fail, if the <em>max-message-size</em> conveyed by the peer in its <em>attach</em> frame is smaller than this property&rsquo;s value.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_MAXSESSIONFRAMES</code><br><code>--${prefix}.maxSessionFrames</code></td>
-<td align="center">no</td>
-<td align="left"><code>-1</code></td>
-<td align="left">The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session. The default value of <code>-1</code> indicates that no limit is to be imposed.</td>
+<td style="text-align:left"><code>${PREFIX}_MAXSESSIONFRAMES</code><br><code>--${prefix}.maxSessionFrames</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>-1</code></td>
+<td style="text-align:left">The maximum number of AMQP transfer frames for sessions created on this connection. This is the number of transfer frames that may simultaneously be in flight for all links in the session. The default value of <code>-1</code> indicates that no limit is to be imposed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_NAME</code><br><code>--${prefix}.name</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name to use as the <em>container-id</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment.</td>
+<td style="text-align:left"><code>${PREFIX}_NAME</code><br><code>--${prefix}.name</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name to use as the <em>container-id</em> in the client&rsquo;s AMQP <em>open</em> frame during connection establishment.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_PASSWORD</code><br><code>--${prefix}.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password to use for authenticating to the service.</td>
+<td style="text-align:left"><code>${PREFIX}_PASSWORD</code><br><code>--${prefix}.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password to use for authenticating to the service.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_PORT</code><br><code>--${prefix}.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The port that the service is listening on.</td>
+<td style="text-align:left"><code>${PREFIX}_PORT</code><br><code>--${prefix}.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The port that the service is listening on.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_SENDMESSAGETIMEOUT</code><br><code>--${prefix}.sendMessageTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The maximum number of milliseconds to wait for a delivery update after an event or command message was sent before the send operation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
+<td style="text-align:left"><code>${PREFIX}_SENDMESSAGETIMEOUT</code><br><code>--${prefix}.sendMessageTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The maximum number of milliseconds to wait for a delivery update after an event or command message was sent before the send operation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RECONNECTATTEMPTS</code><br><code>--${prefix}.reconnectAttempts</code></td>
-<td align="center">no</td>
-<td align="left"><code>-1</code></td>
-<td align="left">The number of attempts (in addition to the original connection attempt) that the client should make in order to establish an AMQP connection with the peer before giving up. The default value of this property is -1 which means that the client will try forever.</td>
+<td style="text-align:left"><code>${PREFIX}_RECONNECTATTEMPTS</code><br><code>--${prefix}.reconnectAttempts</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>-1</code></td>
+<td style="text-align:left">The number of attempts (in addition to the original connection attempt) that the client should make in order to establish an AMQP connection with the peer before giving up. The default value of this property is -1 which means that the client will try forever.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RECONNECTDELAYINCREMENT</code><br><code>--${prefix}.reconnectDelayIncrement</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The factor (milliseconds) used in the exponential backoff algorithm for determining the delay before trying to re-establish an AMQP connection with the peer. The delay after an initial, failed connection attempt will be the value of the <code>${PREFIX}_RECONNECTMINDELAY</code> variable. Each subsequent connection attempt will use a random delay between the minimum delay and the value determined by exponentially increasing the delay by the <code>${PREFIX}_RECONNECTDELAYINCREMENT</code> factor. The overall limit of the delay time is defined by the <code>${PREFIX}_RECONNECTMAXDELAY</code> variable.</td>
+<td style="text-align:left"><code>${PREFIX}_RECONNECTDELAYINCREMENT</code><br><code>--${prefix}.reconnectDelayIncrement</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The factor (milliseconds) used in the exponential backoff algorithm for determining the delay before trying to re-establish an AMQP connection with the peer. The delay after an initial, failed connection attempt will be the value of the <code>${PREFIX}_RECONNECTMINDELAY</code> variable. Each subsequent connection attempt will use a random delay between the minimum delay and the value determined by exponentially increasing the delay by the <code>${PREFIX}_RECONNECTDELAYINCREMENT</code> factor. The overall limit of the delay time is defined by the <code>${PREFIX}_RECONNECTMAXDELAY</code> variable.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RECONNECTMAXDELAY</code><br><code>--${prefix}.reconnectMaxDelay</code></td>
-<td align="center">no</td>
-<td align="left"><code>7000</code></td>
-<td align="left">The maximum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
+<td style="text-align:left"><code>${PREFIX}_RECONNECTMAXDELAY</code><br><code>--${prefix}.reconnectMaxDelay</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>7000</code></td>
+<td style="text-align:left">The maximum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RECONNECTMINDELAY</code><br><code>--${prefix}.reconnectMinDelay</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The minimum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
+<td style="text-align:left"><code>${PREFIX}_RECONNECTMINDELAY</code><br><code>--${prefix}.reconnectMinDelay</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The minimum number of milliseconds to wait before trying to re-establish an AMQP connection with the peer.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_REQUESTTIMEOUT</code><br><code>--${prefix}.requestTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>200</code></td>
-<td align="left">The maximum number of milliseconds to wait for a response before a service invocation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
+<td style="text-align:left"><code>${PREFIX}_REQUESTTIMEOUT</code><br><code>--${prefix}.requestTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>200</code></td>
+<td style="text-align:left">The maximum number of milliseconds to wait for a response before a service invocation is failed. Setting this value to a higher value increases the chance of successful service invocation in situations where network latency is high.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_SECUREPROTOCOLS</code><br><code>--${prefix}.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>${PREFIX}_SECUREPROTOCOLS</code><br><code>--${prefix}.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_TLSENABLED</code><br><code>--${prefix}.tlsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the connection to the peer will be encrypted using TLS and the peer&rsquo;s identity will be verified using the JVM&rsquo;s configured standard trust store.<br>This variable only needs to be set to enable TLS explicitly if no specific trust store is configured using the <code>${PREFIX}_TRUSTSTOREPATH</code> variable.</td>
+<td style="text-align:left"><code>${PREFIX}_TLSENABLED</code><br><code>--${prefix}.tlsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the connection to the peer will be encrypted using TLS and the peer&rsquo;s identity will be verified using the JVM&rsquo;s configured standard trust store.<br>This variable only needs to be set to enable TLS explicitly if no specific trust store is configured using the <code>${PREFIX}_TRUSTSTOREPATH</code> variable.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_TRUSTSTOREPATH</code><br><code>--${prefix}.trustStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the CA certificates the client uses for authenticating to the service. This property <strong>must</strong> be set if the service has been configured to support TLS. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
+<td style="text-align:left"><code>${PREFIX}_TRUSTSTOREPATH</code><br><code>--${prefix}.trustStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the CA certificates the client uses for authenticating to the service. This property <strong>must</strong> be set if the service has been configured to support TLS. The key store format can be either <code>JKS</code>, <code>PKCS12</code> or <code>PEM</code> indicated by a <code>.jks</code>, <code>.p12</code> or <code>.pem</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_TRUSTSTOREPASSWORD</code><br><code>--${prefix}.trustStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the trust store.</td>
+<td style="text-align:left"><code>${PREFIX}_TRUSTSTOREPASSWORD</code><br><code>--${prefix}.trustStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the trust store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_USERNAME</code><br><code>--${prefix}.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The username to use for authenticating to the service. This property (and the corresponding <em>password</em>) needs to be set in order to enable <em>SASL Plain</em> based authentication to the service.</td>
+<td style="text-align:left"><code>${PREFIX}_USERNAME</code><br><code>--${prefix}.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username to use for authenticating to the service. This property (and the corresponding <em>password</em>) needs to be set in order to enable <em>SASL Plain</em> based authentication to the service.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="response-caching">Response Caching</h2>
-
 <p>The clients created by a Hono client factory support the caching of responses received in response to service invocations. Caching can greatly improve performance by preventing costly invocations of remote service operations. However, it usually only makes sense for resources that do not change too frequently. The Hono client follows the <a href="https://tools.ietf.org/html/rfc2616#section-13.4">approach to caching used in HTTP 1.1</a>. In particular, it supports <a href="https://tools.ietf.org/html/rfc2616#section-14.9"><em>cache directives</em></a> that a service includes in the response messages it sends back to the Hono client.</p>
-
 <p>In order to enable caching, the <code>org.eclipse.hono.client.impl.HonoClientImpl</code> factory class needs to be configured with a cache manager using the <em>setCacheManager</em> method. Any specific client created by the factory will then cache responses to service invocations based on the following rules:</p>
-
 <ol>
 <li>If the response contains a <code>no-cache</code> directive, the response is not cached at all.</li>
 <li>Otherwise, if the response contains a <code>max-age</code> directive, the response is cached for the number of seconds determined
@@ -2236,86 +2245,68 @@
 of the codes defined in <a href="https://tools.ietf.org/html/rfc2616#section-13.4">RFC 2616, Section 13.4 Response Cacheability</a>,
 the response is put to the cache using the default timeout defined by the <code>${PREFIX}_RESPONSECACHEDEFAULTTIMEOUT</code> variable as the maximum age.</li>
 </ol>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the Hono client&rsquo;s caching behavior.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>${PREFIX}_RESPONSECACHEMINSIZE</code><br><code>--${prefix}.responseCacheMinSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>20</code></td>
-<td align="left">The minimum number of responses that can be cached.</td>
+<td style="text-align:left"><code>${PREFIX}_RESPONSECACHEMINSIZE</code><br><code>--${prefix}.responseCacheMinSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>20</code></td>
+<td style="text-align:left">The minimum number of responses that can be cached.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RESPONSECACHEMAXSIZE</code><br><code>--${prefix}.responseCacheMaxSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The maximum number of responses that can be cached. It is up to the particular cache implementation, how to deal with new cache entries once this limit has been reached.</td>
+<td style="text-align:left"><code>${PREFIX}_RESPONSECACHEMAXSIZE</code><br><code>--${prefix}.responseCacheMaxSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The maximum number of responses that can be cached. It is up to the particular cache implementation, how to deal with new cache entries once this limit has been reached.</td>
 </tr>
-
 <tr>
-<td align="left"><code>${PREFIX}_RESPONSECACHEDEFAULTTIMEOUT</code><br><code>--${prefix}.responseCacheDefaultTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>600</code></td>
-<td align="left">The default number of seconds after which cached responses should be considered invalid. The value of this property serves as an upper boundary to the value conveyed in a <code>max-age</code> cache directive and is capped at <code>86400</code>, which corresponds to 24 hours.</td>
+<td style="text-align:left"><code>${PREFIX}_RESPONSECACHEDEFAULTTIMEOUT</code><br><code>--${prefix}.responseCacheDefaultTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>600</code></td>
+<td style="text-align:left">The default number of seconds after which cached responses should be considered invalid. The value of this property serves as an upper boundary to the value conveyed in a <code>max-age</code> cache directive and is capped at <code>86400</code>, which corresponds to 24 hours.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="using-tls">Using TLS</h2>
-
 <p>The factory can be configured to use TLS for</p>
-
 <ul>
 <li>authenticating the server during connection establishment and</li>
 <li>(optionally) authenticating to the server using a client certificate (if the server supports this)</li>
 </ul>
-
 <p>In order to authenticate the server by means of the server&rsquo;s certificate, the factory needs to be configured with a <em>trust anchor</em> containing the <em>certificate authorities</em> that the client trusts. The trust anchor can be configured explicitly by means of the <code>${PREFIX}_TRUSTSTOREPATH</code> and <code>${PREFIX}_TRUSTSTOREPASSWORD</code> variables. This is most useful in cases where the server&rsquo;s certificate has not been signed by one of the public root CAs that are contained in the JRE&rsquo;s standard trust store. However, if the server does use a certificate signed by such a public CA, then it is sufficient to set the <code>${PREFIX}_TLSENABLED</code> variable to <code>true</code> in order for the client to support TLS when connecting to the server.</p>
-
 <p>The client can also be configured to authenticate to the server by means of an X.509 client certificate if the server is configured to support this. The <code>${PREFIX}_CERTPATH</code> and <code>${PREFIX}_KEYPATH</code> variables can be used to set the paths to PEM files containing the certificate and private key. Alternatively, the <code>${PREFIX}_KEYSTOREPATH</code> and <code>${PREFIX}_KEYSTOREPASSWORD</code> variables can be used to set the path and password of a key store which contains both the certificate as well as the private key.</p>
-
 <p>The factory supports TLS 1.2 only by default for negotiating TLS sessions with servers. Additional protocols can be enabled by setting the <code>${PREFIX}_SECUREPROTOCOLS</code> variable to a comma separated list of protocol names as defined in the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a>. However, great care should be taken when enabling older protocols because most of them are vulnerable to attacks.</p>
-
 <h2 id="address-rewriting">Address rewriting</h2>
-
 <p>In some multi-tenant messaging environments external can have their addresses internally mapped to enforce consistent namespaces. For example, the addresses can be prefixed by the virtual host the client uses to connect or some other internal identifier. So address like <code>telemetry/DEFAULT_TENANT</code> would be internally represented as <code>test-vhost/telemetry/DEFAULT_TENANT</code> for example.</p>
-
 <p>To successfully address those external clients, infrastructure Hono components need to apply the same mapping rules. The client factory can be configured to automatically rewrite addresses when opening links to the AMQP network. The <code>${PREFIX}_ADDRESSREWRITERULE</code> variable contains rewrite rule for addresses based on the regular expressions.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>${PREFIX}_ADDRESSREWRITERULE</code><br><code>--${prefix}.addressRewriteRule</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The address rewrite rule in the <code>&quot;$PATTERN $REPLACEMENT&quot;</code> format.</td>
+<td style="text-align:left"><code>${PREFIX}_ADDRESSREWRITERULE</code><br><code>--${prefix}.addressRewriteRule</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The address rewrite rule in the <code>&quot;$PATTERN $REPLACEMENT&quot;</code> format.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The rule is defined in the <code>&quot;$PATTERN $REPLACEMENT&quot;</code> format, where the pattern and replacement use the standard <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/regex/Pattern.html">Java regular expression</a> syntax. The pattern should match the address or otherwise the original address will be used.</p>
-
 <p>For example, setting <code>HONO_ADDRESSREWRITERULE</code> to <code>([a-z_]+)/([\\w-]+) test-vhost/$1/$2</code> would result in adding the <code>test-vhost/</code> prefix to all addresses used by the client.</p>
 
 <footer class="footline">
@@ -3429,19 +3420,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844311"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844311"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844311"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844311"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844311"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844311"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844311"></script>
+    <script src="/hono/docs/js/learn.js?1617844311"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844311"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844311" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844311"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/hono-kafka-client-configuration/index.html b/docs/1.6/admin-guide/hono-kafka-client-configuration/index.html
index a885fb8..7a55ce0 100644
--- a/docs/1.6/admin-guide/hono-kafka-client-configuration/index.html
+++ b/docs/1.6/admin-guide/hono-kafka-client-configuration/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Hono Kafka Client Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/hono-kafka-client-configuration/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/hono-kafka-client-configuration/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/hono-kafka-client-configuration/" selected>1.6</option>
@@ -1672,6 +1704,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/hono-kafka-client-configuration/">dev</option>
@@ -1728,6 +1762,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1784,24 +1824,24 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#producer-configuration-properties">Producer Configuration Properties</a>
-<ul>
-<li><a href="#using-tls">Using TLS</a></li>
-</ul></li>
-<li><a href="#consumer-configuration-properties">Consumer Configuration Properties</a>
-<ul>
-<li><a href="#using-tls-1">Using TLS</a></li>
-</ul></li>
-<li><a href="#admin-client-configuration-properties">Admin Client Configuration Properties</a>
-<ul>
-<li><a href="#using-tls-2">Using TLS</a></li>
-</ul></li>
-<li><a href="#common-configuration-properties">Common Configuration Properties</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#producer-configuration-properties">Producer Configuration Properties</a>
+      <ul>
+        <li><a href="#using-tls">Using TLS</a></li>
+      </ul>
+    </li>
+    <li><a href="#consumer-configuration-properties">Consumer Configuration Properties</a>
+      <ul>
+        <li><a href="#using-tls-1">Using TLS</a></li>
+      </ul>
+    </li>
+    <li><a href="#admin-client-configuration-properties">Admin Client Configuration Properties</a>
+      <ul>
+        <li><a href="#using-tls-2">Using TLS</a></li>
+      </ul>
+    </li>
+    <li><a href="#common-configuration-properties">Common Configuration Properties</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1825,175 +1865,134 @@
         
 
 
-
-
 <p>Protocol adapters can be configured to use Kafka for the messaging. The Kafka client used there can be configured with
 environment variables and/or command line options.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Tech preview</h4>
     <div>The support of Kafka as a messaging system is currently a preview and not yet ready for production.
 The implementation as well as it&rsquo;s APIs may change with the next version.</div>
 </div>
-
 <h2 id="producer-configuration-properties">Producer Configuration Properties</h2>
-
 <p>The <code>org.eclipse.hono.client.kafka.CachingKafkaProducerFactory</code> factory can be used to create Kafka producers for Hono&rsquo;s Kafka based APIs.
 The producers created by the factory are configured with instances of the class <code>org.eclipse.hono.client.kafka.KafkaProducerConfigProperties</code>
 which can be used to programmatically configure a producer.</p>
-
 <p>The configuration needs to be provided in the form <code>HONO_KAFKA_PRODUCERCONFIG_${PROPERTY}</code> as an environment variable or
 as a command line option in the form <code>hono.kafka.producerConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
 <code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#producerconfigs">producer properties</a>.
 The provided configuration is passed directly to the Kafka producer without Hono parsing or validating it.</p>
-
 <p>The following properties can <em>not</em> be set using this mechanism because the protocol adapters use fixed values instead
 in order to implement the message delivery semantics defined by Hono&rsquo;s Telemetry and Event APIs.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Kafka Producer Config Property</th>
-<th align="left">Fixed Value</th>
+<th style="text-align:left">Kafka Producer Config Property</th>
+<th style="text-align:left">Fixed Value</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>key.serializer</code></td>
-<td align="left"><code>org.apache.kafka.common.serialization.StringSerializer</code></td>
+<td style="text-align:left"><code>key.serializer</code></td>
+<td style="text-align:left"><code>org.apache.kafka.common.serialization.StringSerializer</code></td>
 </tr>
-
 <tr>
-<td align="left"><code>value.serializer</code></td>
-<td align="left"><code>io.vertx.kafka.client.serialization.BufferSerializer</code></td>
+<td style="text-align:left"><code>value.serializer</code></td>
+<td style="text-align:left"><code>io.vertx.kafka.client.serialization.BufferSerializer</code></td>
 </tr>
-
 <tr>
-<td align="left"><code>enable.idempotence</code></td>
-<td align="left"><code>true</code></td>
+<td style="text-align:left"><code>enable.idempotence</code></td>
+<td style="text-align:left"><code>true</code></td>
 </tr>
 </tbody>
 </table>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
     <div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
 required to enable Kafka based messaging.</div>
 </div>
-
 <h3 id="using-tls">Using TLS</h3>
-
 <p>The factory can be configured to use TLS for</p>
-
 <ul>
 <li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
 <li>(optionally) authenticating to the broker using a client certificate</li>
 </ul>
-
 <p>To use this, a Kafka Producer configuration as described in
 <a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
 The properties must be prefixed with <code>HONO_KAFKA_PRODUCERCONFIG_</code> and <code>hono.kafka.producerConfig.</code> respectively as shown in
 <a href="#producer-configuration-properties">Producer Configuration Properties</a>.
 The complete reference of available properties and the possible values is available in
 <a href="https://kafka.apache.org/documentation/#producerconfigs">Kafka documentation - section &ldquo;Producer Configs&rdquo;</a>.</p>
-
 <h2 id="consumer-configuration-properties">Consumer Configuration Properties</h2>
-
 <p>Consumers for Hono&rsquo;s Kafka based APIs are configured with instances of the class <code>org.eclipse.hono.client.kafka.consumer.KafkaConsumerConfigProperties</code>
 which can be used to programmatically configure a consumer.</p>
-
 <p>The configuration needs to be provided in the form <code>HONO_KAFKA_CONSUMERCONFIG_${PROPERTY}</code> as an environment variable or
 as a command line option in the form <code>hono.kafka.consumerConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
 <code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#consumerconfigs">consumer properties</a>.
 The provided configuration is passed directly to the Kafka consumer without Hono parsing or validating it.</p>
-
 <p>The following properties can <em>not</em> be set using this mechanism because the protocol adapters use fixed values instead.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Kafka Consumer Config Property</th>
-<th align="left">Fixed Value</th>
+<th style="text-align:left">Kafka Consumer Config Property</th>
+<th style="text-align:left">Fixed Value</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>key.deserializer</code></td>
-<td align="left"><code>org.apache.kafka.common.serialization.StringDeserializer</code></td>
+<td style="text-align:left"><code>key.deserializer</code></td>
+<td style="text-align:left"><code>org.apache.kafka.common.serialization.StringDeserializer</code></td>
 </tr>
-
 <tr>
-<td align="left"><code>value.deserializer</code></td>
-<td align="left"><code>io.vertx.kafka.client.serialization.BufferDeserializer</code></td>
+<td style="text-align:left"><code>value.deserializer</code></td>
+<td style="text-align:left"><code>io.vertx.kafka.client.serialization.BufferDeserializer</code></td>
 </tr>
 </tbody>
 </table>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
     <div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
 required to enable Kafka based messaging.</div>
 </div>
-
 <h3 id="using-tls-1">Using TLS</h3>
-
 <p>The factory can be configured to use TLS for</p>
-
 <ul>
 <li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
 <li>(optionally) authenticating to the broker using a client certificate</li>
 </ul>
-
 <p>To use this, a Kafka Consumer configuration as described in
 <a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
 The properties must be prefixed with <code>HONO_KAFKA_CONSUMERCONFIG_</code> and <code>hono.kafka.consumerConfig.</code> respectively as shown in
 <a href="#consumer-configuration-properties">Consumer Configuration Properties</a>.
 The complete reference of available properties and the possible values is available in
 <a href="https://kafka.apache.org/documentation/#consumerconfigs">Kafka documentation - section &ldquo;Consumer Configs&rdquo;</a>.</p>
-
 <h2 id="admin-client-configuration-properties">Admin Client Configuration Properties</h2>
-
 <p>Admin clients for Hono&rsquo;s Kafka based APIs are configured with instances of the class <code>org.eclipse.hono.client.kafka.KafkaAdminClientConfigProperties</code>
 which can be used to programmatically configure an admin client.</p>
-
 <p>The configuration needs to be provided in the form <code>HONO_KAFKA_ADMINCLIENTCONFIG_${PROPERTY}</code> as an environment variable or
 as a command line option in the form <code>hono.kafka.adminClientConfig.${property}</code>, where <code>${PROPERTY}</code> respectively
 <code>${property}</code> is any of the Kafka client&rsquo;s <a href="https://kafka.apache.org/documentation/#adminclientconfigs">admin client properties</a>.
 The provided configuration is passed directly to the Kafka admin client without Hono parsing or validating it.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Enable Kafka based Messaging</h4>
     <div>The Kafka client requires the property <code>bootstrap.servers</code> to be provided. This variable is the minimal configuration
 required to enable Kafka based messaging.</div>
 </div>
-
 <h3 id="using-tls-2">Using TLS</h3>
-
 <p>The factory can be configured to use TLS for</p>
-
 <ul>
 <li>authenticating the brokers in the Kafka cluster during connection establishment and</li>
 <li>(optionally) authenticating to the broker using a client certificate</li>
 </ul>
-
 <p>To use this, a Kafka admin client configuration as described in
 <a href="https://kafka.apache.org/documentation/#security_configclients">Kafka documentation - section &ldquo;Security&rdquo;</a> needs to be provided.
 The properties must be prefixed with <code>HONO_KAFKA_ADMINCLIENTCONFIG_</code> and <code>hono.kafka.adminClientConfig.</code> respectively as shown in
 <a href="#admin-client-configuration-properties">Admin Client Configuration Properties</a>.
 The complete reference of available properties and the possible values is available in
 <a href="https://kafka.apache.org/documentation/#adminclientconfigs">Kafka documentation - section &ldquo;Admin Configs&rdquo;</a>.</p>
-
 <h2 id="common-configuration-properties">Common Configuration Properties</h2>
-
 <p>Configuration properties that are common to all the client types described above can be put in a common configuration section.
 This will avoid having to define duplicate configuration properties for the different client types.</p>
-
 <p>Relevant properties are <code>bootstrap.servers</code> and the properties related to the TLS configuration (see chapters above).</p>
-
 <p>The properties must be prefixed with <code>HONO_KAFKA_COMMONCLIENTCONFIG_</code> and <code>hono.kafka.commonClientConfig.</code> respectively.</p>
-
 <p>A property with the same name defined in the configuration of one of the specific client types above will have precedence
 over the common property.</p>
 
@@ -3109,19 +3108,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/http-adapter-config/index.html b/docs/1.6/admin-guide/http-adapter-config/index.html
index c3b70c5..b4b562d 100644
--- a/docs/1.6/admin-guide/http-adapter-config/index.html
+++ b/docs/1.6/admin-guide/http-adapter-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>HTTP Adapter Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/http-adapter-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/http-adapter-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/http-adapter-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/http-adapter-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/http-adapter-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/http-adapter-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/http-adapter-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/http-adapter-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/http-adapter-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/http-adapter-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/http-adapter-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,19 +1992,17 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1976,213 +2026,168 @@
         
 
 
-<p>The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
+<p>The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
 <p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the
 corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-http-vertx/">Docker image</a> created from it.</p>
-
 <p>The adapter supports the following standard configuration options:</p>
-
 <ul>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#java-vm-options">Common Java VM Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#vert-x-options">Common vert.x Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#protocol-adapter-options">Common Protocol Adapter Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring Options</a></li>
 </ul>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the HTTP adapter.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.http.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+<td style="text-align:left"><code>HONO_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.http.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_BIND_ADDRESS</code><br><code>--hono.http.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_HTTP_BIND_ADDRESS</code><br><code>--hono.http.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_CERT_PATH</code><br><code>--hono.http.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_HTTP_CERT_PATH</code><br><code>--hono.http.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_DEFAULTS_ENABLED</code><br><code>--hono.http.defaultsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+<td style="text-align:left"><code>HONO_HTTP_DEFAULTS_ENABLED</code><br><code>--hono.http.defaultsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_INSECURE_PORT</code><br><code>--hono.http.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_HTTP_INSECURE_PORT</code><br><code>--hono.http.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.http.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.http.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.http.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_HTTP_INSECURE_PORT</code> or the default port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.http.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_HTTP_INSECURE_PORT</code> or the default port number (<code>8080</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_KEY_PATH</code><br><code>--hono.http.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_HTTP_KEY_PATH</code><br><code>--hono.http.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.http.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.http.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_KEY_STORE_PATH</code><br><code>--hono.http.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_HTTP_KEY_PATH</code> and <code>HONO_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_HTTP_KEY_STORE_PATH</code><br><code>--hono.http.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_HTTP_KEY_PATH</code> and <code>HONO_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_SNI</code><br><code>--hono.http.sni</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_HTTP_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_HTTP_SNI</code><br><code>--hono.http.sni</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_HTTP_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_NATIVE_TLS_REQUIRED</code><br><code>--hono.http.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_HTTP_NATIVE_TLS_REQUIRED</code><br><code>--hono.http.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_MAX_PAYLOAD_SIZE</code><br><code>--hono.http.maxPayloadSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>2048</code></td>
-<td align="left">The maximum allowed size of an incoming HTTP request&rsquo;s body in bytes. Requests with a larger body size are rejected with a 413 <code>Request entity too large</code> response.</td>
+<td style="text-align:left"><code>HONO_HTTP_MAX_PAYLOAD_SIZE</code><br><code>--hono.http.maxPayloadSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>2048</code></td>
+<td style="text-align:left">The maximum allowed size of an incoming HTTP request&rsquo;s body in bytes. Requests with a larger body size are rejected with a 413 <code>Request entity too large</code> response.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_PORT</code><br><code>--hono.http.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>8443</code></td>
-<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_HTTP_PORT</code><br><code>--hono.http.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>8443</code></td>
+<td style="text-align:left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_REALM</code><br><code>--hono.http.realm</code></td>
-<td align="center">no</td>
-<td align="left"><code>Hono</code></td>
-<td align="left">The name of the <em>realm</em> that unauthenticated devices are prompted to provide credentials for. The realm is used in the <em>WWW-Authenticate</em> header returned to devices in response to unauthenticated requests.</td>
+<td style="text-align:left"><code>HONO_HTTP_REALM</code><br><code>--hono.http.realm</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>Hono</code></td>
+<td style="text-align:left">The name of the <em>realm</em> that unauthenticated devices are prompted to provide credentials for. The realm is used in the <em>WWW-Authenticate</em> header returned to devices in response to unauthenticated requests.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_SECURE_PROTOCOLS</code><br><code>--hono.http.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_HTTP_SECURE_PROTOCOLS</code><br><code>--hono.http.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HTTP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.http.tenantIdleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>0ms</code></td>
-<td align="left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
+<td style="text-align:left"><code>HONO_HTTP_TENANT_IDLE_TIMEOUT</code><br><code>--hono.http.tenantIdleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0ms</code></td>
+<td style="text-align:left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The HTTP protocol adapter can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The HTTP protocol adapter will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>Setting the <code>HONO_HTTP_KEY_STORE_PATH</code> and the <code>HONO_HTTP_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_HTTP_KEY_PATH</code> and <code>HONO_HTTP_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure port 8443. The port number can also be set explicitly using the <code>HONO_HTTP_PORT</code> variable.</p>
-
 <p>The <code>HONO_HTTP_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_HTTP_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default port (8080) by simply setting <code>HONO_HTTP_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The protocol adapter issues a warning on the console if <code>HONO_HTTP_INSECURE_PORT</code> is set to the default secure HTTP port (8443).</p>
-
 <p>The <code>HONO_HTTP_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
 
 <footer class="footline">
@@ -3296,19 +3301,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/index.html b/docs/1.6/admin-guide/index.html
index 09df973..4da21d1 100644
--- a/docs/1.6/admin-guide/index.html
+++ b/docs/1.6/admin-guide/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Admin Guide :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844312" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844312" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844312" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844312" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757957"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844312"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757957"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844312"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844312"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844312"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1945,11 +1997,8 @@
 
 
 
-	
-
-<h1 id="admin-guide">Admin Guide</h1>
-
-<p>Learn how to operate Eclipse Hono&trade; and look up the configuration options of its components.</p>
+	<h1 id="admin-guide">Admin Guide</h1>
+<p>Learn how to operate Eclipse Hono™ and look up the configuration options of its components.</p>
 
 
 
@@ -3064,19 +3113,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844313"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844313"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844313"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844313"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844313"></script>
+    <script src="/hono/docs/js/learn.js?1617844313"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844313"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844313" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844313"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/index.xml b/docs/1.6/admin-guide/index.xml
index dd81276..f28e7b7 100644
--- a/docs/1.6/admin-guide/index.xml
+++ b/docs/1.6/admin-guide/index.xml
@@ -1,15 +1,11 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
     <title>Admin Guide on Eclipse Hono&amp;trade; Vers.: 1.6</title>
     <link>https://www.eclipse.org/hono/docs/1.6/admin-guide/</link>
     <description>Recent content in Admin Guide on Eclipse Hono&amp;trade; Vers.: 1.6</description>
     <generator>Hugo -- gohugo.io</generator>
-    <language>en-us</language>
-    
-	<atom:link href="https://www.eclipse.org/hono/docs/1.6/admin-guide/index.xml" rel="self" type="application/rss+xml" />
-    
-    
+    <language>en-us</language><atom:link href="https://www.eclipse.org/hono/docs/1.6/admin-guide/index.xml" rel="self" type="application/rss+xml" />
     <item>
       <title>Common Configuration</title>
       <link>https://www.eclipse.org/hono/docs/1.6/admin-guide/common-config/</link>
@@ -26,7 +22,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/auth-server-config/</guid>
-      <description>&lt;p&gt;The Auth Server component exposes a service endpoint implementing Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/authentication/&#34;&gt;Authentication&lt;/a&gt; API. Other services use this component for authenticating clients and retrieving a token asserting the client&amp;rsquo;s identity and corresponding authorities.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The Auth Server component exposes a service endpoint implementing Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/authentication/&#34;&gt;Authentication&lt;/a&gt; API. Other services use this component for authenticating clients and retrieving a token asserting the client&amp;rsquo;s identity and corresponding authorities.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -35,7 +31,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/mongodb-device-registry-config/</guid>
-      <description>The MongoDB based Device Registry component provides an implementation of Eclipse Hono&amp;trade;&amp;rsquo;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
+      <description>The MongoDB based Device Registry component provides an implementation of Eclipse Hono™&amp;rsquo;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
     </item>
     
     <item>
@@ -44,7 +40,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/jdbc-device-registry-config/</guid>
-      <description>The JDBC based Device Registry components provides an implementation of Eclipse Hono™&amp;rsquo;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
+      <description>The JDBC based Device Registry components provides an implementation of Eclipse Hono™&#39;s Device Registration, Credentials and Tenant APIs. Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of Device Registry Management APIs for managing tenants, registration information and credentials of devices.</description>
     </item>
     
     <item>
@@ -53,8 +49,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/file-based-device-registry-config/</guid>
-      <description>&lt;p&gt;The File based Device Registry component provides an exemplary implementation of Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-registration/&#34;&gt;Device Registration&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/credentials/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/tenant/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-connection/&#34;&gt;Device Connection&lt;/a&gt; APIs.&lt;/p&gt;
-
+      <description>&lt;p&gt;The File based Device Registry component provides an exemplary implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-registration/&#34;&gt;Device Registration&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/credentials/&#34;&gt;Credentials&lt;/a&gt;, &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/tenant/&#34;&gt;Tenant&lt;/a&gt; and &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-connection/&#34;&gt;Device Connection&lt;/a&gt; APIs.&lt;/p&gt;
 &lt;p&gt;Protocol adapters use these APIs to determine a device&amp;rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it.&lt;/p&gt;</description>
     </item>
     
@@ -64,8 +59,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/command-router-config/</guid>
-      <description>&lt;p&gt;The Command Router service provides an implementation of Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/command-router/&#34;&gt;Command Router API&lt;/a&gt;.&lt;/p&gt;
-
+      <description>&lt;p&gt;The Command Router service provides an implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/command-router/&#34;&gt;Command Router API&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;&lt;em&gt;Protocol Adapters&lt;/em&gt; use the &lt;em&gt;Command Router API&lt;/em&gt; to supply information with which a Command Router service component can route command &amp;amp; control messages to the protocol adapters that the target devices are connected to.&lt;/p&gt;</description>
     </item>
     
@@ -75,8 +69,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/device-connection-config/</guid>
-      <description>&lt;p&gt;The Device Connection service provides an implementation of Eclipse Hono&amp;trade;&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-connection/&#34;&gt;Device Connection API&lt;/a&gt;.&lt;/p&gt;
-
+      <description>&lt;p&gt;The Device Connection service provides an implementation of Eclipse Hono™&amp;rsquo;s &lt;a href=&#34;https://www.eclipse.org/hono/docs/hono/docs/1.6/api/device-connection/&#34;&gt;Device Connection API&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Protocol adapters use this API to store and retrieve information about the gateway that a device is using to connect to Hono&amp;rsquo;s protocol adapters. This information is necessary for routing commands to the particular protocol adapter instance that the gateway used by the device is connected to.&lt;/p&gt;</description>
     </item>
     
@@ -86,7 +79,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/http-adapter-config/</guid>
-      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The HTTP protocol adapter exposes HTTP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -95,7 +88,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/mqtt-adapter-config/</guid>
-      <description>&lt;p&gt;The MQTT protocol adapter exposes an MQTT topic hierarchy for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The MQTT protocol adapter exposes an MQTT topic hierarchy for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -104,7 +97,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/amqp-adapter-config/</guid>
-      <description>&lt;p&gt;The AMQP protocol adapter exposes AMQP based endpoints for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The AMQP protocol adapter exposes AMQP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -113,7 +106,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/coap-adapter-config/</guid>
-      <description>&lt;p&gt;The CoAP protocol adapter exposes CoAP based endpoints for Eclipse Hono&amp;trade;&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The CoAP protocol adapter exposes CoAP based endpoints for Eclipse Hono™&amp;rsquo;s south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -122,7 +115,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/kura-adapter-config/</guid>
-      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura&amp;trade; based gateways to access Eclipse Hono&amp;trade;&amp;rsquo;s
+      <description>&lt;p&gt;The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to access Eclipse Hono™&amp;rsquo;s
 south bound Telemetry, Event and Command &amp;amp; Control APIs.&lt;/p&gt;</description>
     </item>
     
@@ -160,7 +153,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/secure_communication/</guid>
-      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation, e.g. the protocol adapters, &lt;em&gt;AMQP Messaging Network&lt;/em&gt;, &lt;em&gt;Hono Auth&lt;/em&gt; etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of &lt;em&gt;Transport Layer Security&lt;/em&gt; (TLS) and how to configure it.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono™ installation, e.g. the protocol adapters, &lt;em&gt;AMQP Messaging Network&lt;/em&gt;, &lt;em&gt;Hono Auth&lt;/em&gt; etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of &lt;em&gt;Transport Layer Security&lt;/em&gt; (TLS) and how to configure it.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -169,7 +162,7 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/monitoring-tracing-config/</guid>
-      <description>&lt;p&gt;The individual components of an Eclipse Hono&amp;trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.&lt;/p&gt;</description>
+      <description>&lt;p&gt;The individual components of an Eclipse Hono™ installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.&lt;/p&gt;</description>
     </item>
     
     <item>
@@ -178,8 +171,8 @@
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://www.eclipse.org/hono/docs/1.6/admin-guide/device-registry-config/</guid>
-      <description>The configuration of Eclipse Hono&amp;trade;s Device Registry implementations for the File Based Device Registry and for the MongoDB Based Device Registry.</description>
+      <description>The configuration of Eclipse Hono™s Device Registry implementations for the File Based Device Registry and for the MongoDB Based Device Registry.</description>
     </item>
     
   </channel>
-</rss>
\ No newline at end of file
+</rss>
diff --git a/docs/1.6/admin-guide/jdbc-device-registry-config/index.html b/docs/1.6/admin-guide/jdbc-device-registry-config/index.html
index ce2ba52..5851333 100644
--- a/docs/1.6/admin-guide/jdbc-device-registry-config/index.html
+++ b/docs/1.6/admin-guide/jdbc-device-registry-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>JDBC Based Device Registry Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/jdbc-device-registry-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/jdbc-device-registry-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/jdbc-device-registry-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/jdbc-device-registry-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/jdbc-device-registry-config/">1.5</option>
@@ -1698,6 +1732,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/jdbc-device-registry-config/">dev</option>
@@ -1754,6 +1790,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1810,15 +1852,12 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a></li>
-<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a></li>
+    <li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1842,447 +1881,376 @@
         
 
 
-
-
-<p>The JDBC based Device Registry components provides an implementation of Eclipse Hono™&rsquo;s
+<p>The JDBC based Device Registry components provides an implementation of Eclipse Hono™'s
 <a href="/hono/docs/1.6/api/device-registration/">Device Registration</a>, <a href="/hono/docs/1.6/api/credentials/">Credentials</a>
 and <a href="/hono/docs/1.6/api/tenant/">Tenant</a> APIs. Protocol adapters use these APIs to determine a device&rsquo;s registration
 status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before
 accepting any data for processing from it. In addition to the above, this Device Registry also provides an
 implementation of <a href="/hono/docs/1.6/api/management/">Device Registry Management APIs</a> for managing tenants,
 registration information and credentials of devices.</p>
-
 <p>The application is implemented as a Spring Boot application, and it uses a JDBC compliant database to persist data. In
 provides the following features:</p>
-
 <ul>
 <li>Run only the registration and credentials service, or run including the tenant service.</li>
 <li>By default, supports H2 and PostgreSQL</li>
 <li>Supports different JDBC connections for read-only and read-write operations, to support read-only replicas</li>
 </ul>
-
 <p><strong>Note:</strong> The provided container images contains only the H2 and PostgreSQL configuration and JDBC driver. While it is
 possible to use other JDBC compliant databases, database specific configuration and JDBC driver have to be provided
 by the user.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for
 configuring the JDBC based Device Registry. In addition to the following options, this component also supports
 the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <p>The configuration uses the section <code>ADAPTER</code> for configurations of the <em>protocol adapter facing</em> services, and the
 section <code>MANAGEMENT</code> for <em>management facing</em> services. As adapters only require read-only operations, this can be
 used to direct adapters to services instances, which are backed by read-only replicas. Which can improve performance
 and availability.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_URL</code>                 <br> <code>--hono.registry.jdbc.adapter.url</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The JDBC URL to the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_URL</code>                 <br> <code>--hono.registry.jdbc.adapter.url</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The JDBC URL to the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_DRIVERCLASS</code>         <br> <code>--hono.registry.jdbc.adapter.driverClass</code></td>
-<td align="center">no</td>
-<td align="left">The default driver registered for the JDBC URL.</td>
-<td align="left">The class name of the JDBC driver.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_DRIVERCLASS</code>         <br> <code>--hono.registry.jdbc.adapter.driverClass</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">The default driver registered for the JDBC URL.</td>
+<td style="text-align:left">The class name of the JDBC driver.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_USERNAME</code>            <br> <code>--hono.registry.jdbc.adapter.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The username used to access the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_USERNAME</code>            <br> <code>--hono.registry.jdbc.adapter.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_PASSWORD</code>            <br> <code>--hono.registry.jdbc.adapter.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password used to access the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_PASSWORD</code>            <br> <code>--hono.registry.jdbc.adapter.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_MAXIMUMPOOLSIZE</code>     <br> <code>--hono.registry.jdbc.adapter.maximumPoolSize</code></td>
-<td align="center">no</td>
-<td align="left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
-<td align="left">The maximum size of the connection pool.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_MAXIMUMPOOLSIZE</code>     <br> <code>--hono.registry.jdbc.adapter.maximumPoolSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
+<td style="text-align:left">The maximum size of the connection pool.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_ADAPTER_TABLENAME</code>           <br> <code>--hono.registry.jdbc.adapter.tableName</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_ADAPTER_TABLENAME</code>           <br> <code>--hono.registry.jdbc.adapter.tableName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_URL</code>              <br> <code>--hono.registry.jdbc.management.url</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The JDBC URL to the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_URL</code>              <br> <code>--hono.registry.jdbc.management.url</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The JDBC URL to the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_DRIVERCLASS</code>      <br> <code>--hono.registry.jdbc.management.driverClass</code></td>
-<td align="center">no</td>
-<td align="left">The default driver registered for the JDBC URL.</td>
-<td align="left">The class name of the JDBC driver.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_DRIVERCLASS</code>      <br> <code>--hono.registry.jdbc.management.driverClass</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">The default driver registered for the JDBC URL.</td>
+<td style="text-align:left">The class name of the JDBC driver.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_USERNAME</code>         <br> <code>--hono.registry.jdbc.management.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The username used to access the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_USERNAME</code>         <br> <code>--hono.registry.jdbc.management.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_PASSWORD</code>         <br> <code>--hono.registry.jdbc.management.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password used to access the database.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_PASSWORD</code>         <br> <code>--hono.registry.jdbc.management.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_MAXIMUMPOOLSIZE</code>  <br> <code>--hono.registry.jdbc.management.maximumPoolSize</code></td>
-<td align="center">no</td>
-<td align="left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
-<td align="left">The maximum size of the connection pool.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_MAXIMUMPOOLSIZE</code>  <br> <code>--hono.registry.jdbc.management.maximumPoolSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
+<td style="text-align:left">The maximum size of the connection pool.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_TABLENAME</code>        <br> <code>--hono.registry.jdbc.management</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_JDBC_MANAGEMENT_TABLENAME</code>        <br> <code>--hono.registry.jdbc.management</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_TASKEXECUTORQUEUESIZE</code>        <br> <code>--hono.registry.svc.taskExecutorQueueSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>1024</code></td>
-<td align="left">The size of the executor queue for hashing passwords.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_TASKEXECUTORQUEUESIZE</code>        <br> <code>--hono.registry.svc.taskExecutorQueueSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1024</code></td>
+<td style="text-align:left">The size of the executor queue for hashing passwords.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_CREDENTIALSTTL</code>               <br> <code>--hono.registry.svc.credentialsTtl</code></td>
-<td align="center">no</td>
-<td align="left"><code>1m</code></td>
-<td align="left">The TTL for credentials responses.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_CREDENTIALSTTL</code>               <br> <code>--hono.registry.svc.credentialsTtl</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1m</code></td>
+<td style="text-align:left">The TTL for credentials responses.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_REGISTRATIONTTL</code>              <br> <code>--hono.registry.svc.registrationTtl</code></td>
-<td align="center">no</td>
-<td align="left"><code>1m</code></td>
-<td align="left">The TTL for registrations responses.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_REGISTRATIONTTL</code>              <br> <code>--hono.registry.svc.registrationTtl</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1m</code></td>
+<td style="text-align:left">The TTL for registrations responses.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_MAXBCRYPTITERATIONS</code>          <br> <code>--hono.registry.svc.maxBcryptIterations</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">The maximum number of allowed bcrypt iterations.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_MAXBCRYPTITERATIONS</code>          <br> <code>--hono.registry.svc.maxBcryptIterations</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">The maximum number of allowed bcrypt iterations.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_URL</code>                   <br> <code>--hono.tenant.jdbc.adapter.url</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The JDBC URL to the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_URL</code>                   <br> <code>--hono.tenant.jdbc.adapter.url</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The JDBC URL to the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_DRIVERCLASS</code>           <br> <code>--hono.tenant.jdbc.adapter.driverClass</code></td>
-<td align="center">no</td>
-<td align="left">The default driver registered for the JDBC URL.</td>
-<td align="left">The class name of the JDBC driver.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_DRIVERCLASS</code>           <br> <code>--hono.tenant.jdbc.adapter.driverClass</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">The default driver registered for the JDBC URL.</td>
+<td style="text-align:left">The class name of the JDBC driver.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_USERNAME</code>              <br> <code>--hono.tenant.jdbc.adapter.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The username used to access the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_USERNAME</code>              <br> <code>--hono.tenant.jdbc.adapter.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_PASSWORD</code>              <br> <code>--hono.tenant.jdbc.adapter.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password used to access the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_PASSWORD</code>              <br> <code>--hono.tenant.jdbc.adapter.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_MAXIMUMPOOLSIZE</code>       <br> <code>--hono.tenant.jdbc.adapter.maximumPoolSize</code></td>
-<td align="center">no</td>
-<td align="left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
-<td align="left">The maximum size of the connection pool.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_MAXIMUMPOOLSIZE</code>       <br> <code>--hono.tenant.jdbc.adapter.maximumPoolSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
+<td style="text-align:left">The maximum size of the connection pool.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_ADAPTER_TABLENAME</code>             <br> <code>--hono.tenant.jdbc.adapter.tableName</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_ADAPTER_TABLENAME</code>             <br> <code>--hono.tenant.jdbc.adapter.tableName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_URL</code>                <br> <code>--hono.tenant.jdbc.management.url</code></td>
-<td align="center">yes</td>
-<td align="left">-</td>
-<td align="left">The JDBC URL to the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_URL</code>                <br> <code>--hono.tenant.jdbc.management.url</code></td>
+<td style="text-align:center">yes</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The JDBC URL to the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_DRIVERCLASS</code>        <br> <code>--hono.tenant.jdbc.management.driverClass</code></td>
-<td align="center">no</td>
-<td align="left">The default driver registered for the JDBC URL.</td>
-<td align="left">The class name of the JDBC driver.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_DRIVERCLASS</code>        <br> <code>--hono.tenant.jdbc.management.driverClass</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">The default driver registered for the JDBC URL.</td>
+<td style="text-align:left">The class name of the JDBC driver.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_USERNAME</code>           <br> <code>--hono.tenant.jdbc.management.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The username used to access the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_USERNAME</code>           <br> <code>--hono.tenant.jdbc.management.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The username used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_PASSWORD</code>           <br> <code>--hono.tenant.jdbc.management.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password used to access the database.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_PASSWORD</code>           <br> <code>--hono.tenant.jdbc.management.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password used to access the database.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_MAXIMUMPOOLSIZE</code>    <br> <code>--hono.tenant.jdbc.management.maximumPoolSize</code></td>
-<td align="center">no</td>
-<td align="left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
-<td align="left">The maximum size of the connection pool.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_MAXIMUMPOOLSIZE</code>    <br> <code>--hono.tenant.jdbc.management.maximumPoolSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">Depends on the connection pool implementation. <code>15</code> for C3P0.</td>
+<td style="text-align:left">The maximum size of the connection pool.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_JDBC_MANAGEMENT_TABLENAME</code>          <br> <code>--hono.tenant.jdbc.management.tableName</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
+<td style="text-align:left"><code>HONO_TENANT_JDBC_MANAGEMENT_TABLENAME</code>          <br> <code>--hono.tenant.jdbc.management.tableName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name of the table the datastore uses. If the datastore requires multiple tables, this is the prefix.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_TENANTTTL</code>                      <br> <code>--hono.tenant.service.tenantTtl</code></td>
-<td align="center">no</td>
-<td align="left"><code>1m</code></td>
-<td align="left">The TTL for tenant responses.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_TENANTTTL</code>                      <br> <code>--hono.tenant.service.tenantTtl</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1m</code></td>
+<td style="text-align:left">The TTL for tenant responses.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.registry.http.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the HTTP endpoint of the Device Registry requires clients to authenticate when connecting to the Device Registry. The JDBC based Device Registry currently supports basic authentication and the user credentials are to be stored in the database. <br>For more information on how to manage users please refer to <a href="https://vertx.io/docs/vertx-auth-jdbc/java/">JDBC Auth Provider</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.registry.http.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the HTTP endpoint of the Device Registry requires clients to authenticate when connecting to the Device Registry. The JDBC based Device Registry currently supports basic authentication and the user credentials are to be stored in the database. <br>For more information on how to manage users please refer to <a href="https://vertx.io/docs/vertx-auth-jdbc/java/">JDBC Auth Provider</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_REGEX</code><br><code>--hono.registry.http.deviceIdRegex</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_]+$</code></td>
-<td align="left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_REGEX</code><br><code>--hono.registry.http.deviceIdRegex</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_TENANT_ID_REGEX</code><br><code>--hono.registry.http.tenantIdRegex</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_.]+$</code></td>
-<td align="left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_TENANT_ID_REGEX</code><br><code>--hono.registry.http.tenantIdRegex</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_.]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Device Registry supports configuration of both, an AMQP based endpoint and an HTTP based endpoint proving RESTful
 resources for managing registration information and credentials. Both endpoints can be configured to listen for
 connections on:</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
-<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/#port-configuration">Port Configuration</a> for
+<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">Port Configuration</a> for
 more information.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>The environment variables to use for configuring the REST endpoint are the same as the ones for the AMQP endpoint,
 substituting <code>_AMQP_</code> with <code>_HTTP_</code>.</div>
 </div>
-
 <h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
-
-<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/#authentication-service-connection-configuration">Authentication Service Connection Configuration</a>
+<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">Authentication Service Connection Configuration</a>
 for more information.</p>
-
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure
 the reporting of metrics.</p>
 
@@ -3398,19 +3366,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/kura-adapter-config/index.html b/docs/1.6/admin-guide/kura-adapter-config/index.html
index e787d1d..3ccaf15 100644
--- a/docs/1.6/admin-guide/kura-adapter-config/index.html
+++ b/docs/1.6/admin-guide/kura-adapter-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Kura Adapter Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/kura-adapter-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/kura-adapter-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/kura-adapter-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/kura-adapter-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/kura-adapter-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/kura-adapter-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/kura-adapter-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/kura-adapter-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/kura-adapter-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/kura-adapter-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/kura-adapter-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,19 +1992,17 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1976,242 +2026,193 @@
         
 
 
-<p>The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura&trade; based gateways to access Eclipse Hono&trade;&rsquo;s
+<p>The Kura protocol adapter exposes an MQTT topic hierarchy allowing Eclipse Kura™ based gateways to access Eclipse Hono™&rsquo;s
 south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
 <p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the
 corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-kura/">Docker image</a> created from it.</p>
-
 <p>The adapter supports the following standard configuration options:</p>
-
 <ul>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#java-vm-options">Common Java VM Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#vert-x-options">Common vert.x Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#protocol-adapter-options">Common Protocol Adapter Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring Options</a></li>
 </ul>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_AUTHENTICATION_REQUIRED</code><br><code>--hono.kura.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+<td style="text-align:left"><code>HONO_KURA_AUTHENTICATION_REQUIRED</code><br><code>--hono.kura.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_BIND_ADDRESS</code><br><code>--hono.kura.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_KURA_BIND_ADDRESS</code><br><code>--hono.kura.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_CERT_PATH</code><br><code>--hono.kura.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_KEY_PATH</code>.<br>Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_KURA_CERT_PATH</code><br><code>--hono.kura.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_KEY_PATH</code>.<br>Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_CONTROL_PREFIX</code><br><code>--hono.kura.controlPrefix</code></td>
-<td align="center">no</td>
-<td align="left"><code>$EDC</code></td>
-<td align="left">The <em>topic.control-prefix</em> to use for determining if a message published by a Kura gateway is a <em>control</em> message. All messages published to a topic that does not start with this prefix are considered <em>data</em> messages.</td>
+<td style="text-align:left"><code>HONO_KURA_CONTROL_PREFIX</code><br><code>--hono.kura.controlPrefix</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>$EDC</code></td>
+<td style="text-align:left">The <em>topic.control-prefix</em> to use for determining if a message published by a Kura gateway is a <em>control</em> message. All messages published to a topic that does not start with this prefix are considered <em>data</em> messages.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_CTRL_MSG_CONTENT_TYPE</code><br><code>--hono.kura.ctrlMsgContentType</code></td>
-<td align="center">no</td>
-<td align="left"><code>application/vnd.eclipse.kura-control</code></td>
-<td align="left">The content type to set on AMQP messages created from Kura <em>control</em> messages.</td>
+<td style="text-align:left"><code>HONO_KURA_CTRL_MSG_CONTENT_TYPE</code><br><code>--hono.kura.ctrlMsgContentType</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>application/vnd.eclipse.kura-control</code></td>
+<td style="text-align:left">The content type to set on AMQP messages created from Kura <em>control</em> messages.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_DATA_MSG_CONTENT_TYPE</code><br><code>--hono.kura.dataMsgContentType</code></td>
-<td align="center">no</td>
-<td align="left"><code>application/vnd.eclipse.kura-data</code></td>
-<td align="left">The content type to set on AMQP messages created from Kura <em>data</em> messages.</td>
+<td style="text-align:left"><code>HONO_KURA_DATA_MSG_CONTENT_TYPE</code><br><code>--hono.kura.dataMsgContentType</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>application/vnd.eclipse.kura-data</code></td>
+<td style="text-align:left">The content type to set on AMQP messages created from Kura <em>data</em> messages.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_DEFAULTS_ENABLED</code><br><code>--hono.kura.defaultsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+<td style="text-align:left"><code>HONO_KURA_DEFAULTS_ENABLED</code><br><code>--hono.kura.defaultsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_INSECURE_PORT</code><br><code>--hono.kura.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_KURA_INSECURE_PORT</code><br><code>--hono.kura.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.kura.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_KURA_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.kura.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_INSECURE_PORT_ENABLED</code><br><code>--hono.kura.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_KURA_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_KURA_INSECURE_PORT_ENABLED</code><br><code>--hono.kura.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_KURA_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_KEY_PATH</code><br><code>--hono.kura.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_CERT_PATH</code>. Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_KURA_KEY_PATH</code><br><code>--hono.kura.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_KURA_CERT_PATH</code>. Alternatively, the <code>HONO_KURA_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_KEY_STORE_PASSWORD</code><br><code>--hono.kura.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_KURA_KEY_STORE_PASSWORD</code><br><code>--hono.kura.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_KEY_STORE_PATH</code><br><code>--hono.kura.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_KURA_KEY_PATH</code> and <code>HONO_KURA_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_KURA_KEY_STORE_PATH</code><br><code>--hono.kura.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_KURA_KEY_PATH</code> and <code>HONO_KURA_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_SNI</code><br><code>--hono.kura.sni</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_KURA_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_KURA_SNI</code><br><code>--hono.kura.sni</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_KURA_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_MAX_CONNECTIONS</code><br><code>--hono.mqtt.maxConnections</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAX_CONNECTIONS</code><br><code>--hono.mqtt.maxConnections</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_MAX_PAYLOAD_SIZE</code><br><code>--hono.kura.maxPayloadSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>2048</code></td>
-<td align="left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
+<td style="text-align:left"><code>HONO_KURA_MAX_PAYLOAD_SIZE</code><br><code>--hono.kura.maxPayloadSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>2048</code></td>
+<td style="text-align:left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_NATIVE_TLS_REQUIRED</code><br><code>--hono.kura.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_KURA_NATIVE_TLS_REQUIRED</code><br><code>--hono.kura.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_PORT</code><br><code>--hono.kura.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>8883</code></td>
-<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_KURA_PORT</code><br><code>--hono.kura.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>8883</code></td>
+<td style="text-align:left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_SECURE_PROTOCOLS</code><br><code>--hono.kura.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_KURA_SECURE_PROTOCOLS</code><br><code>--hono.kura.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_TENANT_IDLE_TIMEOUT</code><br><code>--hono.kura.tenantIdleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>0ms</code></td>
-<td align="left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
+<td style="text-align:left"><code>HONO_KURA_TENANT_IDLE_TIMEOUT</code><br><code>--hono.kura.tenantIdleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0ms</code></td>
+<td style="text-align:left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_KURA_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.kura.sendMessageToDeviceTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
+<td style="text-align:left"><code>HONO_KURA_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.kura.sendMessageToDeviceTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default values do not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Kura protocol adapter can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The Kura protocol adapter will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>either setting the <code>HONO_KURA_KEY_STORE_PATH</code> and the <code>HONO_KURA_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_KURA_KEY_PATH</code> and <code>HONO_KURA_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the <code>HONO_KURA_PORT</code> variable.</p>
-
 <p>The <code>HONO_KURA_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_KURA_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default MQTT port (1883) by simply setting <code>HONO_KURA_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The protocol adapter issues a warning on the console if <code>HONO_KURA_INSECURE_PORT</code> is set to the default secure MQTT port (8883).</p>
-
 <p>The <code>HONO_KURA_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
 
 <footer class="footline">
@@ -3325,19 +3326,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844313"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844313"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844313"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844313"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844313"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844313"></script>
+    <script src="/hono/docs/js/learn.js?1617844313"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844313"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844313" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844313"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/mongodb-device-registry-config/index.html b/docs/1.6/admin-guide/mongodb-device-registry-config/index.html
index d30ee43..09cf80a 100644
--- a/docs/1.6/admin-guide/mongodb-device-registry-config/index.html
+++ b/docs/1.6/admin-guide/mongodb-device-registry-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>MongoDB Based Device Registry Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757957" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757957" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757957"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757957"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757957"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/mongodb-device-registry-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/mongodb-device-registry-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/mongodb-device-registry-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/mongodb-device-registry-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/mongodb-device-registry-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/mongodb-device-registry-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/mongodb-device-registry-config/">1.3</option>
@@ -1750,6 +1788,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/mongodb-device-registry-config/">dev</option>
@@ -1806,6 +1846,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1862,15 +1908,12 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a></li>
-<li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
-<li><a href="#metrics-configuration">Metrics Configuration</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a></li>
+    <li><a href="#authentication-service-connection-configuration">Authentication Service Connection Configuration</a></li>
+    <li><a href="#metrics-configuration">Metrics Configuration</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1894,384 +1937,321 @@
         
 
 
-
-
-<p>The MongoDB based Device Registry component provides an implementation of Eclipse Hono&trade;&rsquo;s <a href="/hono/docs/1.6/api/device-registration/">Device Registration</a>,
+<p>The MongoDB based Device Registry component provides an implementation of Eclipse Hono™&rsquo;s <a href="/hono/docs/1.6/api/device-registration/">Device Registration</a>,
 <a href="/hono/docs/1.6/api/credentials/">Credentials</a> and <a href="/hono/docs/1.6/api/tenant/">Tenant</a> APIs. Protocol adapters use these APIs to determine a device&rsquo;s registration status, e.g. if it is enabled and if it is registered with a particular tenant, and to authenticate a device before accepting any data for processing from it. In addition to the above, this Device Registry also provides an implementation of <a href="/hono/docs/1.6/api/management/">Device Registry Management APIs</a> for managing tenants, registration information and credentials of devices.</p>
-
 <p>The Device Registry is implemented as a Spring Boot application, and the data is persisted in a MongoDB database. It can be run either directly from the command line or by means of starting the corresponding <a href="https://hub.docker.com/r/eclipse/hono-service-device-registry-mongodb/">Docker image</a> created from it.</p>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the MongoDB based Device Registry. In addition to the following options, this component also supports the options described in <a href="/hono/docs/1.6/admin-guide/common-config/">Common Configuration</a>.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_CACHE_MAX_AGE</code><br><code>--hono.credentials.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_COLLECTION_NAME</code><br><code>--hono.credentials.svc.collectionName</code></td>
-<td align="center">no</td>
-<td align="left"><code>credentials</code></td>
-<td align="left">The name of the MongoDB collection where the server stores credentials of devices.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_COLLECTION_NAME</code><br><code>--hono.credentials.svc.collectionName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>credentials</code></td>
+<td style="text-align:left">The name of the MongoDB collection where the server stores credentials of devices.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_HASH_ALGORITHMS_WHITELIST</code><br><code>--hono.credentials.svc.hashAlgorithmsWhitelist</code></td>
-<td align="center">no</td>
-<td align="left"><code>empty</code></td>
-<td align="left">An array of supported hashing algorithms to be used with the <code>hashed-password</code> type of credentials. When not set, all values will be accepted.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_HASH_ALGORITHMS_WHITELIST</code><br><code>--hono.credentials.svc.hashAlgorithmsWhitelist</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>empty</code></td>
+<td style="text-align:left">An array of supported hashing algorithms to be used with the <code>hashed-password</code> type of credentials. When not set, all values will be accepted.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code><br><code>--hono.credentials.svc.maxBcryptCostFactor</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code><br><code>--hono.credentials.svc.maxBcryptCostFactor</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
-<td align="center">no</td>
-<td align="left"><code>10</code></td>
-<td align="left">DEPRECATED Please use <code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code> instead.<br>The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MAX_BCRYPT_ITERATIONS</code><br><code>--hono.credentials.svc.maxBcryptIterations</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10</code></td>
+<td style="text-align:left">DEPRECATED Please use <code>HONO_CREDENTIALS_SVC_MAXBCRYPTCOSTFACTOR</code> instead.<br>The maximum cost factor that is supported in password hashes using the BCrypt hash function. This limit is enforced by the device registry when adding or updating corresponding credentials. Increasing this number allows for potentially more secure password hashes to be used. However, the time required to compute the hash increases exponentially with the cost factor.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_MODIFICATION_ENABLED</code><br><code>--hono.credentials.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the credentials contained in the registry cannot be updated nor removed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
+<td style="text-align:left"><code>HONO_CREDENTIALS_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.credentials.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Credentials endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_CONNECTION_STRING</code><br><code>--hono.mongodb.connectionString</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The connection string used by the Device Registry application to connect to the MongoDB database. If <code>HONO_MONGODB_CONNECTION_STRING</code> is set, it overrides the other MongoDB connection settings.<br> See <a href="https://docs.mongodb.com/manual/reference/connection-string/">Connection String URI Format</a> for more information.</td>
+<td style="text-align:left"><code>HONO_MONGODB_CONNECTION_STRING</code><br><code>--hono.mongodb.connectionString</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The connection string used by the Device Registry application to connect to the MongoDB database. If <code>HONO_MONGODB_CONNECTION_STRING</code> is set, it overrides the other MongoDB connection settings.<br> See <a href="https://docs.mongodb.com/manual/reference/connection-string/">Connection String URI Format</a> for more information.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_CONNECTION_TIMEOUT_IN_MS</code><br><code>--hono.mongodb.connectionTimeoutInMs</code></td>
-<td align="center">no</td>
-<td align="left"><code>10000</code></td>
-<td align="left">The time in milliseconds to attempt a connection before timing out.</td>
+<td style="text-align:left"><code>HONO_MONGODB_CONNECTION_TIMEOUT_IN_MS</code><br><code>--hono.mongodb.connectionTimeoutInMs</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>10000</code></td>
+<td style="text-align:left">The time in milliseconds to attempt a connection before timing out.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_DB_NAME</code><br><code>--hono.mongodb.dbName</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The name of the MongoDB database that should be used by the Device Registry application.</td>
+<td style="text-align:left"><code>HONO_MONGODB_DB_NAME</code><br><code>--hono.mongodb.dbName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The name of the MongoDB database that should be used by the Device Registry application.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_HOST</code><br><code>--hono.mongodb.host</code></td>
-<td align="center">no</td>
-<td align="left"><code>localhost</code></td>
-<td align="left">The host name or IP address of the MongoDB instance.</td>
+<td style="text-align:left"><code>HONO_MONGODB_HOST</code><br><code>--hono.mongodb.host</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>localhost</code></td>
+<td style="text-align:left">The host name or IP address of the MongoDB instance.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_PORT</code><br><code>--hono.mongodb.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>27017</code></td>
-<td align="left">The port that the MongoDB instance is listening on.</td>
+<td style="text-align:left"><code>HONO_MONGODB_PORT</code><br><code>--hono.mongodb.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>27017</code></td>
+<td style="text-align:left">The port that the MongoDB instance is listening on.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_PASSWORD</code><br><code>--hono.mongodb.password</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password to use for authenticating to the MongoDB instance.</td>
+<td style="text-align:left"><code>HONO_MONGODB_PASSWORD</code><br><code>--hono.mongodb.password</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password to use for authenticating to the MongoDB instance.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_SERVER_SELECTION_TIMEOUT_IN_MS</code><br><code>--hono.mongodb.serverSelectionTimeoutInMs</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The time in milliseconds that the mongo driver will wait to select a server for an operation before raising an error.</td>
+<td style="text-align:left"><code>HONO_MONGODB_SERVER_SELECTION_TIMEOUT_IN_MS</code><br><code>--hono.mongodb.serverSelectionTimeoutInMs</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The time in milliseconds that the mongo driver will wait to select a server for an operation before raising an error.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MONGODB_USERNAME</code><br><code>--hono.mongodb.username</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The user name to use for authenticating to the MongoDB instance.</td>
+<td style="text-align:left"><code>HONO_MONGODB_USERNAME</code><br><code>--hono.mongodb.username</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The user name to use for authenticating to the MongoDB instance.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_BIND_ADDRESS</code><br><code>--hono.registry.amqp.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_CERT_PATH</code><br><code>--hono.registry.amqp.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT</code><br><code>--hono.registry.amqp.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.amqp.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure AMQP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.amqp.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_AMQP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_PATH</code><br><code>--hono.registry.amqp.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_AMQP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.amqp.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_KEY_STORE_PATH</code><br><code>--hono.registry.amqp.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_AMQP_KEY_PATH</code> and <code>HONO_REGISTRY_AMQP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_NATIVE_TLS_REQUIRED</code><br><code>--hono.registry.amqp.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_PORT</code><br><code>--hono.registry.amqp.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for AMQP 1.0 connections.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_AMQP_SECURE_PROTOCOLS</code><br><code>--hono.registry.amqp.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.registry.http.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the HTTP endpoint of the Device Registry requires clients to authenticate when connecting to the Device Registry. The MongoDB based Device Registry currently supports basic authentication and the user credentials are to be stored in a MongoDB collection with name <code>user</code>. <br>For more information on how to manage users please refer to <a href="https://vertx.io/docs/vertx-auth-mongo/java/">Mongo Auth Provider</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_AUTHENTICATION_REQUIRED</code><br><code>--hono.registry.http.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the HTTP endpoint of the Device Registry requires clients to authenticate when connecting to the Device Registry. The MongoDB based Device Registry currently supports basic authentication and the user credentials are to be stored in a MongoDB collection with name <code>user</code>. <br>For more information on how to manage users please refer to <a href="https://vertx.io/docs/vertx-auth-mongo/java/">Mongo Auth Provider</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_BIND_ADDRESS</code><br><code>--hono.registry.http.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_CERT_PATH</code><br><code>--hono.registry.http.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_KEY_PATH</code>.<br>Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code><br><code>--hono.registry.http.deviceIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
-<td align="left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_DEVICE_ID_PATTERN</code><br><code>--hono.registry.http.deviceIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.:]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate device ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT</code><br><code>--hono.registry.http.insecurePort</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The insecure port the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.registry.http.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure HTTP port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_INSECURE_PORT_ENABLED</code><br><code>--hono.registry.http.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the server will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_REGISTRY_HTTP_INSECURE_PORT</code> or the default AMQP port number (<code>5672</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_PATH</code><br><code>--hono.registry.http.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_REGISTRY_HTTP_CERT_PATH</code>. Alternatively, the <code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PASSWORD</code><br><code>--hono.registry.http.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_KEY_STORE_PATH</code><br><code>--hono.registry.http.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the server should use for authenticating to clients. Either this option or the <code>HONO_REGISTRY_HTTP_KEY_PATH</code> and <code>HONO_REGISTRY_HTTP_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>5671</code></td>
-<td align="left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_PORT</code><br><code>--hono.registry.http.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>5671</code></td>
+<td style="text-align:left">The secure port that the server should listen on for HTTP requests.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code><br><code>--hono.registry.http.tenantIdPattern</code></td>
-<td align="center">no</td>
-<td align="left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
-<td align="left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_HTTP_TENANT_ID_PATTERN</code><br><code>--hono.registry.http.tenantIdPattern</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>^[a-zA-Z0-9-_\.]+$</code></td>
+<td style="text-align:left">The regular expression to use to validate tenant ID. Please refer to the <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">java pattern documentation</a>.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_CACHE_MAX_AGE</code><br><code>--hono.registry.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_COLLECTION_NAME</code><br><code>--hono.registry.svc.collectionName</code></td>
-<td align="center">no</td>
-<td align="left"><code>devices</code></td>
-<td align="left">The name of the MongoDB collection where the server stores registered device information.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_COLLECTION_NAME</code><br><code>--hono.registry.svc.collectionName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>devices</code></td>
+<td style="text-align:left">The name of the MongoDB collection where the server stores registered device information.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
-<td align="center">no</td>
-<td align="left"><code>-1</code></td>
-<td align="left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt; -1. The value <code>-1</code> indicates that no limit is set.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT</code><br><code>--hono.registry.svc.maxDevicesPerTenant</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>-1</code></td>
+<td style="text-align:left">The number of devices that can be registered for each tenant. It is an error to set this property to a value &lt; -1. The value <code>-1</code> indicates that no limit is set.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_MODIFICATION_ENABLED</code><br><code>--hono.registry.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the device information contained in the registry cannot be updated nor removed from the registry.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
+<td style="text-align:left"><code>HONO_REGISTRY_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.registry.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Device Registration endpoint.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
-<td align="center">no</td>
-<td align="left"><code>180</code></td>
-<td align="left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_CACHE_MAX_AGE</code><br><code>--hono.tenant.svc.cacheMaxAge</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>180</code></td>
+<td style="text-align:left">The maximum period of time (seconds) that information returned by the service&rsquo;s operations may be cached for.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_COLLECTION_NAME</code><br><code>--hono.tenant.svc.collectionName</code></td>
-<td align="center">no</td>
-<td align="left"><code>tenants</code></td>
-<td align="left">The name of the MongoDB collection where the server stores tenants information.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_COLLECTION_NAME</code><br><code>--hono.tenant.svc.collectionName</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>tenants</code></td>
+<td style="text-align:left">The name of the MongoDB collection where the server stores tenants information.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_MODIFICATION_ENABLED</code><br><code>--hono.tenant.svc.modificationEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">When set to <code>false</code> the tenants contained in the registry cannot be updated nor removed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
+<td style="text-align:left"><code>HONO_TENANT_SVC_RECEIVER_LINK_CREDIT</code><br><code>--hono.tenant.svc.receiverLinkCredit</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">The number of credits to flow to a client connecting to the Tenant endpoint.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default value does not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The Device Registry supports configuration of both, an AMQP based endpoint as well as an HTTP based endpoint proving RESTful resources for managing registration information and credentials. Both endpoints can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
-<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/#port-configuration">Port Configuration</a> for more information.</p>
-
+<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">Port Configuration</a> for more information.</p>
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>The environment variables to use for configuring the REST endpoint are the same as the ones for the AMQP endpoint, substituting <code>_AMQP_</code> with <code>_HTTP_</code>.</div>
 </div>
-
 <h2 id="authentication-service-connection-configuration">Authentication Service Connection Configuration</h2>
-
-<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/#authentication-service-connection-configuration">Authentication Service Connection Configuration</a> for more information.</p>
-
+<p>See <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">Authentication Service Connection Configuration</a> for more information.</p>
 <h2 id="metrics-configuration">Metrics Configuration</h2>
-
 <p>See <a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring &amp; Tracing Admin Guide</a> for details on how to configure the reporting of metrics.</p>
 
 
@@ -3386,19 +3366,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757958"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757958"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757958"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757958"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757958"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757958"></script>
-    <script src="/hono/docs/js/learn.js?1617757958"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757958"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757958" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757958"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/monitoring-tracing-config/index.html b/docs/1.6/admin-guide/monitoring-tracing-config/index.html
index 1801799..e7c4e5d 100644
--- a/docs/1.6/admin-guide/monitoring-tracing-config/index.html
+++ b/docs/1.6/admin-guide/monitoring-tracing-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Monitoring & Tracing :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/monitoring-tracing-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/monitoring-tracing-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/monitoring-tracing-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/monitoring-tracing-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/monitoring-tracing-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/monitoring-tracing-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/monitoring-tracing-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/monitoring-tracing-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/monitoring-tracing-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/monitoring-tracing-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/monitoring-tracing-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,23 +1992,22 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#monitoring">Monitoring</a>
-<ul>
-<li><a href="#configuring-a-metrics-back-end">Configuring a Metrics Back End</a></li>
-<li><a href="#using-prometheus">Using Prometheus</a></li>
-</ul></li>
-<li><a href="#health-check-server-configuration">Health Check Server Configuration</a></li>
-<li><a href="#tracing">Tracing</a>
-<ul>
-<li><a href="#configuring-a-tracer">Configuring a Tracer</a></li>
-</ul></li>
-<li><a href="#configuring-usage-of-jaeger-tracing-included-in-docker-images">Configuring usage of Jaeger tracing (included in Docker images)</a></li>
-<li><a href="#enforcing-the-recording-of-traces-for-a-tenant">Enforcing the recording of traces for a tenant</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#monitoring">Monitoring</a>
+      <ul>
+        <li><a href="#configuring-a-metrics-back-end">Configuring a Metrics Back End</a></li>
+        <li><a href="#using-prometheus">Using Prometheus</a></li>
+      </ul>
+    </li>
+    <li><a href="#health-check-server-configuration">Health Check Server Configuration</a></li>
+    <li><a href="#tracing">Tracing</a>
+      <ul>
+        <li><a href="#configuring-a-tracer">Configuring a Tracer</a></li>
+      </ul>
+    </li>
+    <li><a href="#configuring-usage-of-jaeger-tracing-included-in-docker-images">Configuring usage of Jaeger tracing (included in Docker images)</a></li>
+    <li><a href="#enforcing-the-recording-of-traces-for-a-tenant">Enforcing the recording of traces for a tenant</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1980,46 +2031,33 @@
         
 
 
-<p>The individual components of an Eclipse Hono&trade; installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.</p>
-
+<p>The individual components of an Eclipse Hono™ installation need to work together in order to provide their functionality to devices and applications. Under normal circumstances these interactions work flawlessly. However, due to the nature of distributed systems, any one (or more) of the components may crash or become otherwise unavailable due to arbitrary reasons. This page describes how Hono supports operations teams by providing insights into the individual service components and their interactions with each other by means of reporting metrics and tracing the processing of individual messages through the system.</p>
 <p>When a device uploads telemetry data to the HTTP adapter, the adapter invokes operations on the Device Registration, Credentials and the Tenant services in order to authenticate and authorize the device before sending the telemetry data downstream to the AMQP 1.0 Messaging Network. The overall success of this process and the latency involved before the message reaches the consumer is determined by the individual interactions between the service components.</p>
-
 <h2 id="monitoring">Monitoring</h2>
-
 <p>In a production environment, an operations team will usually want to keep track of some <em>key performance indicators</em> (KPI) which allow the team to determine the overall <em>health</em> of the system, e.g. memory and CPU consumption etc. Hono supports the tracking of such KPIs by means of metrics it can be configured to report. The metrics are usually collected in a time series database like <em>InfluxDB</em> or <em>Prometheus</em> and then visualized on a monitoring dash-board built using frameworks like <em>Grafana</em>. Such a dash-board can usually also be configured to send alarms when certain thresholds are exceeded.</p>
-
 <p>Metrics usually provide insights into the past and current status of an individual component. The values can be aggregated to provide a picture of the overall system&rsquo;s status. As such, metrics provide a great way to <em>monitor</em> system health and, in particular, to anticipate resource shortages and use such knowledge to pro-actively prevent system failure.</p>
-
 <h3 id="configuring-a-metrics-back-end">Configuring a Metrics Back End</h3>
-
 <p>Hono uses <a href="http://micrometer.io/">Micrometer</a> for providing metrics. It is
 possible to drop in any Micrometer compatible back end. Hono also uses the
 Micrometer integration with Spring Boot and Vert.x.</p>
-
 <p>Please refer to the <a href="http://micrometer.io/docs">Micrometer documentation</a>
 for details regarding the configuration of a specific Micrometer back end.
 In most cases, you only need to add the back end specific jar files to the class path and
 add back end specific configuration to the <code>application.yml</code> file.</p>
-
 <p>The Hono build supports configuration of a specific metrics back end by means
 of Maven profiles. The following build profiles are currently supported:</p>
-
 <ul>
 <li><code>metrics-prometheus</code> – Enables the Prometheus backend.</li>
 <li><code>metrics-graphite</code> – Enables the Graphite backend.</li>
 <li><code>metrics-influxdb</code> – Enables the InfluxDB backend.</li>
 </ul>
-
 <p>Additionally, to selecting a metrics back end, you may need to configure the
 back end using Spring configuration options. See the documentation mentioned
 above for more information.</p>
-
 <p>Note that none of the above profiles are active by default, i.e. you need to
 explicitly activate one of them when starting the build using Maven&rsquo;s <code>-p</code>
 command line parameter.</p>
-
 <h3 id="using-prometheus">Using Prometheus</h3>
-
 <p>Most of the metrics back ends have data being <em>pushed</em> to from the components
 reporting the metrics. However, Prometheus is different in that it <em>polls</em>
 (or <em>scrapes</em>) all components periodically for new metrics data.
@@ -2032,150 +2070,112 @@
 Hono components that report metrics can be configured to expose such an
 endpoint via their <a href="#health-check-server-configuration"><em>Health Check</em> server</a>
 which already exposes endpoints for determining the component&rsquo;s readiness and liveness status.</p>
-
 <h2 id="health-check-server-configuration">Health Check Server Configuration</h2>
-
 <p>All of Hono&rsquo;s service components and protocol adapters contain a <em>Health Check</em> server which can be configured to
 expose several HTTP endpoints for determining the component&rsquo;s status.
 In particular, the server exposes a <code>/readiness</code>, a <code>/liveness</code> and an optional <code>/prometheus</code> URI endpoint.</p>
-
 <p>The former two endpoints are supposed to be used by container orchestration platforms like Kubernetes to monitor the runtime status of the containers
 that it manages. These endpoints are <em>always</em> exposed when the health check server is started.</p>
-
 <p>The <code>/prometheus</code> endpoint can be used by a Prometheus server to retrieve collected meter data from the component. It is <em>only</em> exposed if Prometheus has
 been configured as the metrics back end as described <a href="#configuring-a-metrics-back-end">above</a>.</p>
-
 <p>The health check server can be configured by means of the following environment variables:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_BINDADDRESS</code><br><code>--hono.healthCheck.bindAddress</code></td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the health check server&rsquo;s secure port should be bound to. The server will only be started if this property is set to some other than the default value and corresponding key material has been configured using the <code>HONO_HEALTHCHECK_KEYPATH</code> and <code>HONO_HEALTHCHECK_CERTPATH</code> variables.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_BINDADDRESS</code><br><code>--hono.healthCheck.bindAddress</code></td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the health check server&rsquo;s secure port should be bound to. The server will only be started if this property is set to some other than the default value and corresponding key material has been configured using the <code>HONO_HEALTHCHECK_KEYPATH</code> and <code>HONO_HEALTHCHECK_CERTPATH</code> variables.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_CERTPATH</code><br><code>--hono.healthCheck.certPath</code></td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTHCHECK_KEYPATH</code>.<br>Alternatively, the <code>HONO_HEALTHCHECK_KEYSTOREPATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_CERTPATH</code><br><code>--hono.healthCheck.certPath</code></td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTHCHECK_KEYPATH</code>.<br>Alternatively, the <code>HONO_HEALTHCHECK_KEYSTOREPATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_INSECUREPORTBINDADDRESS</code><br><code>--hono.healthCheck.insecurePortBindAddress</code></td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the health check server&rsquo;s insecure port should be bound to. The server will only be started if this property is set to some other than the default value.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_INSECUREPORTBINDADDRESS</code><br><code>--hono.healthCheck.insecurePortBindAddress</code></td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the health check server&rsquo;s insecure port should be bound to. The server will only be started if this property is set to some other than the default value.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_INSECUREPORT</code><br><code>--hono.healthCheck.insecurePort</code></td>
-<td align="left"><code>8088</code></td>
-<td align="left">The port that the insecure server should listen on.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_INSECUREPORT</code><br><code>--hono.healthCheck.insecurePort</code></td>
+<td style="text-align:left"><code>8088</code></td>
+<td style="text-align:left">The port that the insecure server should listen on.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_KEYPATH</code><br><code>--hono.healthCheck.keyPath</code></td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTHCHECK_CERTPATH</code>. Alternatively, the <code>HONO_HEALTHCHECK_KEYSTOREPATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_KEYPATH</code><br><code>--hono.healthCheck.keyPath</code></td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the secure server should use for authenticating to clients. This option must be used in conjunction with <code>HONO_HEALTHCHECK_CERTPATH</code>. Alternatively, the <code>HONO_HEALTHCHECK_KEYSTOREPATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_PORT</code><br><code>--hono.healthCheck.port</code></td>
-<td align="left"><code>8088</code></td>
-<td align="left">The port that the secure server should listen on.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_PORT</code><br><code>--hono.healthCheck.port</code></td>
+<td style="text-align:left"><code>8088</code></td>
+<td style="text-align:left">The port that the secure server should listen on.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_KEYSTOREPASSWORD</code><br><code>--hono.healthCheck.keyStorePassword</code></td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_KEYSTOREPASSWORD</code><br><code>--hono.healthCheck.keyStorePassword</code></td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_HEALTHCHECK_KEYSTOREPATH</code><br><code>--hono.healthCheck.keyStorePath</code></td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the secure server should use for authenticating to clients. Either this option or the <code>HONO_HEALTHCHECK_KEYPATH</code> and <code>HONO_HEALTHCHECK_CERTPATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively. The <code>HONO_HEALTHCHECK_KEYSTOREPASSWORD</code> variable can be used to set the password required for reading the key store.</td>
+<td style="text-align:left"><code>HONO_HEALTHCHECK_KEYSTOREPATH</code><br><code>--hono.healthCheck.keyStorePath</code></td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the secure server should use for authenticating to clients. Either this option or the <code>HONO_HEALTHCHECK_KEYPATH</code> and <code>HONO_HEALTHCHECK_CERTPATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively. The <code>HONO_HEALTHCHECK_KEYSTOREPASSWORD</code> variable can be used to set the password required for reading the key store.</td>
 </tr>
 </tbody>
 </table>
-
 <div class="alert alert-warning">
     <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Failure to start</h4>
     <div>The component/service will fail to start if neither the secure not the insecure server have been configured properly.</div>
 </div>
-
 <h2 id="tracing">Tracing</h2>
-
 <p>In normal operation the vast majority of messages should be flowing through the system without any noteworthy delays or problems. In fact, that is the whole purpose of Hono. However, that doesn&rsquo;t mean that nothing can go wrong. For example, when a tenant&rsquo;s device administrator changes the credentials of a device in the Credentials service but has not yet updated the credentials on the device yet, then the device will start to fail in uploading any data to the protocol adapter it connects to. After a while, a back end application&rsquo;s administrator might notice, that there hasn&rsquo;t been any data being received from that particular device for quite some time. The application administrator therefore calls up the Hono operations team and complains about the data <em>being lost somewhere</em>.</p>
-
 <p>The operations team will have a hard time determining what is happening, because it will need to figure out which components have been involved in the processing of the device and why the data hasn&rsquo;t been processed as usual. The metrics alone usually do not help much here because metrics are usually not scoped to individual devices. The logs written by the individual components, on the other hand, might contain enough information to correlate individual entries in the log with each other and thus <em>trace</em> the processing of the message throughout the system. However, this is usually a very tedious (and error prone) process and the relevant information is often only logged at a level (e.g. <em>DEBUG</em>) that is not used in production (often <em>INFO</em> or above).</p>
-
 <p>In order to address this problem, Hono&rsquo;s service components are instrumented using <a href="http://opentracing.io">OpenTracing</a>. OpenTracing provides <em>Vendor-neutral APIs and instrumentation for distributed tracing</em>. The OpenTracing web page provides a <a href="https://opentracing.io/docs/supported-tracers/">list of supported tracer implementations</a> from which users can choose in order to collect (and examine) the tracing information generated by Hono&rsquo;s individual components.</p>
-
 <h3 id="configuring-a-tracer">Configuring a Tracer</h3>
-
 <p><strong>Hint</strong>: The description in this chapter applies to any compatible OpenTracing implementation. For an easier approach to configure usage of <a href="https://www.jaegertracing.io/">Jaeger tracing</a>, see the next chapter.</p>
-
 <p>Hono&rsquo;s components use the <a href="https://github.com/opentracing-contrib/java-tracerresolver">OpenTracing Tracer Resolver</a> mechanism to find and initialize a concrete OpenTracing implementation during startup of the component. The discovery mechanism is using Java&rsquo;s <a href="https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.html">ServiceLoader</a> and as such relies on the required resources to be available on the class path.</p>
-
 <p>When starting up any of Hono&rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its class path in the container&rsquo;s <code>/opt/hono/extensions</code> folder. Thus, using a specific implementation of OpenTracing is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the implementation&rsquo;s jar files and resources into the corresponding volume or host folder.</p>
-
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
     <div>This also means that (currently) only Tracer implementations can be used with Hono that also implement the Tracer Resolver mechanism.</div>
 </div>
-
 <p>Assuming that the HTTP adapter should be configured to use <a href="https://www.jaegertracing.io/">Jaeger tracing</a>, the following steps are necessary:</p>
-
 <ol>
-<li>Download <a href="https://github.com/jaegertracing/jaeger-client-java/tree/master/jaeger-tracerresolver">Jaeger&rsquo;s Java Tracer Resolver</a> implementation and its dependencies (see the hint at the end).</li>
-<li>Put the jars to a folder on the Docker host, e.g. <code>/tmp/jaeger</code>.</li>
-
-<li><p>Start the HTTP adapter Docker image mounting the host folder:</p>
-
-<pre><code class="language-sh">docker run --name hono-adapter-http-vertx \
---mount type=bind,src=/tmp/jaeger,dst=/opt/hono/extensions,ro \
-... \
-eclipse/hono-adapter-http-vertx
-</code></pre></li>
+<li>
+<p>Download <a href="https://github.com/jaegertracing/jaeger-client-java/tree/master/jaeger-tracerresolver">Jaeger&rsquo;s Java Tracer Resolver</a> implementation and its dependencies (see the hint at the end).</p>
+</li>
+<li>
+<p>Put the jars to a folder on the Docker host, e.g. <code>/tmp/jaeger</code>.</p>
+</li>
+<li>
+<p>Start the HTTP adapter Docker image mounting the host folder:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">docker run --name hono-adapter-http-vertx <span style="color:#ae81ff">\
+</span><span style="color:#ae81ff"></span>--mount type<span style="color:#f92672">=</span>bind,src<span style="color:#f92672">=</span>/tmp/jaeger,dst<span style="color:#f92672">=</span>/opt/hono/extensions,ro <span style="color:#ae81ff">\
+</span><span style="color:#ae81ff"></span>... <span style="color:#ae81ff">\
+</span><span style="color:#ae81ff"></span>eclipse/hono-adapter-http-vertx
+</code></pre></div></li>
 </ol>
-
 <p><strong>Note</strong>: the command given above does not contain the environment variables and secrets that are required to configure the service properly. The environment variables for configuring the Jaeger client are also missing. Please refer to the <a href="https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md">Jaeger documentation</a> for details.</p>
-
 <p>When the HTTP adapter starts up, it will look for a working implementation of the Tracer Resolver on its classpath and (if found) initialize and use it for publishing traces. The adapter&rsquo;s log file will indicate the name of the Tracer implementation being used.</p>
-
 <p>Using a Docker <em>volume</em> instead of a <em>bind mount</em> works the same way but requires the use of <code>volume</code> as the <em>type</em> of the <code>--mount</code> parameter. Please refer to the <a href="https://docs.docker.com/edge/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems">Docker reference documentation</a> for details.</p>
-
 <p><strong>Hint</strong>: to resolve all dependencies for <code>jaeger-tracerresolver</code> in order to provide them to <code>/opt/hono/extensions</code>, you may want to rely on Maven&rsquo;s dependency plugin. To obtain all jar files you can invoke the following command in a simple Maven project that contains only the dependency to <code>jaeger-tracerresolver</code>:</p>
-
-<pre><code class="language-sh">mvn dependency:copy-dependencies
-</code></pre>
-
-<p>All jar files can then be found in the directory <code>target/dependency</code>.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">mvn dependency:copy-dependencies
+</code></pre></div><p>All jar files can then be found in the directory <code>target/dependency</code>.</p>
 <h2 id="configuring-usage-of-jaeger-tracing-included-in-docker-images">Configuring usage of Jaeger tracing (included in Docker images)</h2>
-
 <p>In case <a href="https://www.jaegertracing.io/">Jaeger tracing</a> shall be used, there is an alternative to putting the jar files in the container&rsquo;s <code>/opt/hono/extensions</code> folder as described above.
 This is to have the Jaeger tracing jar files be included in the Hono Docker images by using the <code>jaeger</code> Maven profile when building Hono.</p>
-
 <p>For example, building the HTTP adapter image with the Jaeger client included:</p>
-
-<pre><code class="language-sh"># in directory: hono/adapters/http-vertx/
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh"><span style="color:#75715e"># in directory: hono/adapters/http-vertx/</span>
 mvn clean install -Pbuild-docker-image,jaeger
-</code></pre>
-
-<p>Note that when running the created docker image, the environment variables for configuring the Jaeger client still need to be set. Please refer to the <a href="https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md">Jaeger documentation</a> for details.</p>
-
+</code></pre></div><p>Note that when running the created docker image, the environment variables for configuring the Jaeger client still need to be set. Please refer to the <a href="https://github.com/jaegertracing/jaeger-client-java/blob/master/jaeger-core/README.md">Jaeger documentation</a> for details.</p>
 <h2 id="enforcing-the-recording-of-traces-for-a-tenant">Enforcing the recording of traces for a tenant</h2>
-
 <p>Typically, in production systems, the tracing components will be configured to not store <em>all</em> trace spans in the tracing backend, in order to reduce the performance impact. For debugging purposes it can however be beneficial to enforce the recording of certain traces. Hono allows this by providing a configuration option in the Tenant information with which all traces concerning the processing of telemetry, event and command messages for that specific tenant will be recorded. Furthermore, this enforced trace sampling can be restricted to only apply to messages sent in the context of a specific authentication identifier. Please refer to the <a href="/hono/docs/1.6/api/tenant/#tracing-format">description of the <code>tracing</code> object</a> in the Tenant Information for details.</p>
 
 <footer class="footline">
@@ -3289,19 +3289,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/mqtt-adapter-config/index.html b/docs/1.6/admin-guide/mqtt-adapter-config/index.html
index 1a81dbd..07645b4 100644
--- a/docs/1.6/admin-guide/mqtt-adapter-config/index.html
+++ b/docs/1.6/admin-guide/mqtt-adapter-config/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>MQTT Adapter Configuration :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/mqtt-adapter-config/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/mqtt-adapter-config/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/mqtt-adapter-config/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/mqtt-adapter-config/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/mqtt-adapter-config/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/mqtt-adapter-config/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/mqtt-adapter-config/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/mqtt-adapter-config/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/mqtt-adapter-config/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/mqtt-adapter-config/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/mqtt-adapter-config/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,23 +1992,22 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#service-configuration">Service Configuration</a></li>
-<li><a href="#port-configuration">Port Configuration</a>
-<ul>
-<li><a href="#secure-port-only">Secure Port Only</a></li>
-<li><a href="#insecure-port-only">Insecure Port Only</a></li>
-<li><a href="#dual-port">Dual Port</a></li>
-<li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
-</ul></li>
-<li><a href="#custom-message-mapping">Custom Message Mapping</a>
-<ul>
-<li><a href="#implementation">Implementation</a></li>
-</ul></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#service-configuration">Service Configuration</a></li>
+    <li><a href="#port-configuration">Port Configuration</a>
+      <ul>
+        <li><a href="#secure-port-only">Secure Port Only</a></li>
+        <li><a href="#insecure-port-only">Insecure Port Only</a></li>
+        <li><a href="#dual-port">Dual Port</a></li>
+        <li><a href="#ephemeral-ports">Ephemeral Ports</a></li>
+      </ul>
+    </li>
+    <li><a href="#custom-message-mapping">Custom Message Mapping</a>
+      <ul>
+        <li><a href="#implementation">Implementation</a></li>
+      </ul>
+    </li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1980,292 +2031,244 @@
         
 
 
-<p>The MQTT protocol adapter exposes an MQTT topic hierarchy for Eclipse Hono&trade;&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
-
+<p>The MQTT protocol adapter exposes an MQTT topic hierarchy for Eclipse Hono™&rsquo;s south bound Telemetry, Event and Command &amp; Control APIs.</p>
 <p>The adapter is implemented as a Spring Boot application. It can be run either directly from the command line or by means of starting the
 corresponding <a href="https://hub.docker.com/r/eclipse/hono-adapter-mqtt-vertx/">Docker image</a> created from it.</p>
-
 <p>The adapter supports the following standard configuration options:</p>
-
 <ul>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#java-vm-options">Common Java VM Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#vert-x-options">Common vert.x Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/common-config/#protocol-adapter-options">Common Protocol Adapter Options</a></li>
 <li><a href="/hono/docs/1.6/admin-guide/monitoring-tracing-config/">Monitoring Options</a></li>
 </ul>
-
 <h2 id="service-configuration">Service Configuration</h2>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the MQTT adapter.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
-<td align="center">no</td>
-<td align="left"><em>#CPU cores</em></td>
-<td align="left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
+<td style="text-align:left"><code>HONO_APP_MAX_INSTANCES</code><br><code>--hono.app.maxInstances</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><em>#CPU cores</em></td>
+<td style="text-align:left">The number of verticle instances to deploy. If not set, one verticle per processor core is deployed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_CONNECTION_EVENTS_PRODUCER</code><br><code>--hono.connectionEvents.producer</code></td>
-<td align="center">no</td>
-<td align="left"><code>logging</code></td>
-<td align="left">The implementation of <em>connection events</em> producer which is to be used. This may be <code>logging</code> or <code>events</code>.<br>See <a href="/hono/docs/1.6/concepts/connection-events/">Connection Events</a></td>
+<td style="text-align:left"><code>HONO_CONNECTION_EVENTS_PRODUCER</code><br><code>--hono.connectionEvents.producer</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>logging</code></td>
+<td style="text-align:left">The implementation of <em>connection events</em> producer which is to be used. This may be <code>logging</code> or <code>events</code>.<br>See <a href="/hono/docs/1.6/concepts/connection-events/">Connection Events</a></td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_AUTHENTICATION_REQUIRED</code><br><code>--hono.mqtt.authenticationRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
+<td style="text-align:left"><code>HONO_MQTT_AUTHENTICATION_REQUIRED</code><br><code>--hono.mqtt.authenticationRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter requires devices to authenticate when connecting to the adapter. The credentials provided by the device are verified using the configured <a href="#credentials-service-connection-configuration">Credentials Service</a>. Devices that have failed to authenticate are not allowed to publish any data.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_BIND_ADDRESS</code><br><code>--hono.mqtt.bindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_MQTT_BIND_ADDRESS</code><br><code>--hono.mqtt.bindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the secure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_CERT_PATH</code><br><code>--hono.mqtt.certPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_KEY_PATH</code>.<br>Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_MQTT_CERT_PATH</code><br><code>--hono.mqtt.certPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the PEM file containing the certificate that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_KEY_PATH</code>.<br>Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_COMMAND_ACK_TIMEOUT</code><br><code>--hono.mqtt.commandAckTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>100</code></td>
-<td align="left">Deprecated. Use <code>HONO_MQTT_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code> instead. The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
+<td style="text-align:left"><code>HONO_MQTT_COMMAND_ACK_TIMEOUT</code><br><code>--hono.mqtt.commandAckTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>100</code></td>
+<td style="text-align:left">Deprecated. Use <code>HONO_MQTT_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code> instead. The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.mqtt.sendMessageToDeviceTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>1000</code></td>
-<td align="left">The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
+<td style="text-align:left"><code>HONO_MQTT_SEND_MESSAGE_TO_DEVICE_TIMEOUT</code><br><code>--hono.mqtt.sendMessageToDeviceTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>1000</code></td>
+<td style="text-align:left">The amount of time (milliseconds) after which the sending of a command to a device using QoS 1 is considered to be failed. The value of this variable should be increased in cases where devices are connected over a network with high latency.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_DEFAULTS_ENABLED</code><br><code>--hono.mqtt.defaultsEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>true</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
+<td style="text-align:left"><code>HONO_MQTT_DEFAULTS_ENABLED</code><br><code>--hono.mqtt.defaultsEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>true</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter uses <em>default values</em> registered for a device to augment messages published by the device with missing information like a content type. In particular, the protocol adapter adds default values registered for the device as (application) properties with the same name to the AMQP 1.0 messages it sends downstream to the AMQP Messaging Network.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.mqtt.insecurePortBindAddress</code></td>
-<td align="center">no</td>
-<td align="left"><code>127.0.0.1</code></td>
-<td align="left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_MQTT_INSECURE_PORT_BIND_ADDRESS</code><br><code>--hono.mqtt.insecurePortBindAddress</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>127.0.0.1</code></td>
+<td style="text-align:left">The IP address of the network interface that the insecure port should be bound to.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_INSECURE_PORT_ENABLED</code><br><code>--hono.mqtt.insecurePortEnabled</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_MQTT_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_MQTT_INSECURE_PORT_ENABLED</code><br><code>--hono.mqtt.insecurePortEnabled</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">If set to <code>true</code> the protocol adapter will open an insecure port (not secured by TLS) using either the port number set via <code>HONO_MQTT_INSECURE_PORT</code> or the default MQTT port number (<code>1883</code>) if not set explicitly.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_KEY_PATH</code><br><code>--hono.mqtt.keyPath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_CERT_PATH</code>. Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
+<td style="text-align:left"><code>HONO_MQTT_KEY_PATH</code><br><code>--hono.mqtt.keyPath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the (PKCS8) PEM file containing the private key that the protocol adapter should use for authenticating to clients. This option must be used in conjunction with <code>HONO_MQTT_CERT_PATH</code>. Alternatively, the <code>HONO_MQTT_KEY_STORE_PATH</code> option can be used to configure a key store containing both the key as well as the certificate.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_KEY_STORE_PASSWORD</code><br><code>--hono.mqtt.keyStorePassword</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The password required to read the contents of the key store.</td>
+<td style="text-align:left"><code>HONO_MQTT_KEY_STORE_PASSWORD</code><br><code>--hono.mqtt.keyStorePassword</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The password required to read the contents of the key store.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_KEY_STORE_PATH</code><br><code>--hono.mqtt.keyStorePath</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_MQTT_KEY_PATH</code> and <code>HONO_MQTT_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_MQTT_KEY_STORE_PATH</code><br><code>--hono.mqtt.keyStorePath</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The absolute path to the Java key store containing the private key and certificate that the protocol adapter should use for authenticating to clients. Either this option or the <code>HONO_MQTT_KEY_PATH</code> and <code>HONO_MQTT_CERT_PATH</code> options need to be set in order to enable TLS secured connections with clients. The key store format can be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_SNI</code><br><code>--hono.mqtt.sni</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_MQTT_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
+<td style="text-align:left"><code>HONO_MQTT_SNI</code><br><code>--hono.mqtt.sni</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">Set whether the server supports Server Name Indication. By default, the server will not support SNI and the option is <code>false</code>. However, if set to <code>true</code> then the key store format , <code>HONO_MQTT_KEY_STORE_PATH</code>,  should be either <code>JKS</code> or <code>PKCS12</code> indicated by a <code>.jks</code> or <code>.p12</code> file suffix respectively.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_MAX_CONNECTIONS</code><br><code>--hono.mqtt.maxConnections</code></td>
-<td align="center">no</td>
-<td align="left"><code>0</code></td>
-<td align="left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAX_CONNECTIONS</code><br><code>--hono.mqtt.maxConnections</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0</code></td>
+<td style="text-align:left">The maximum number of concurrent connections that the protocol adapter should accept. If not set (or set to <code>0</code>), the protocol adapter determines a reasonable value based on the available resources like memory and CPU.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_MAX_PAYLOAD_SIZE</code><br><code>--hono.mqtt.maxPayloadSize</code></td>
-<td align="center">no</td>
-<td align="left"><code>2048</code></td>
-<td align="left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAX_PAYLOAD_SIZE</code><br><code>--hono.mqtt.maxPayloadSize</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>2048</code></td>
+<td style="text-align:left">The maximum allowed size of an incoming MQTT message&rsquo;s payload in bytes. When a client sends a message with a larger payload, the message is discarded and the connection to the client gets closed.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_NATIVE_TLS_REQUIRED</code><br><code>--hono.mqtt.nativeTlsRequired</code></td>
-<td align="center">no</td>
-<td align="left"><code>false</code></td>
-<td align="left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
+<td style="text-align:left"><code>HONO_MQTT_NATIVE_TLS_REQUIRED</code><br><code>--hono.mqtt.nativeTlsRequired</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>false</code></td>
+<td style="text-align:left">The server will probe for OpenSLL on startup if a secure port is configured. By default, the server will fall back to the JVM&rsquo;s default SSL engine if not available. However, if set to <code>true</code>, the server will fail to start at all in this case.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_PORT</code><br><code>--hono.mqtt.port</code></td>
-<td align="center">no</td>
-<td align="left"><code>8883</code></td>
-<td align="left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
+<td style="text-align:left"><code>HONO_MQTT_PORT</code><br><code>--hono.mqtt.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>8883</code></td>
+<td style="text-align:left">The secure port that the protocol adapter should listen on.<br>See <a href="#port-configuration">Port Configuration</a> below for details.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_SECURE_PROTOCOLS</code><br><code>--hono.mqtt.secureProtocols</code></td>
-<td align="center">no</td>
-<td align="left"><code>TLSv1.2</code></td>
-<td align="left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
+<td style="text-align:left"><code>HONO_MQTT_SECURE_PROTOCOLS</code><br><code>--hono.mqtt.secureProtocols</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>TLSv1.2</code></td>
+<td style="text-align:left">A (comma separated) list of secure protocols that are supported when negotiating TLS sessions. Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#ssl">vert.x documentation</a> for a list of supported protocol names.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_TENANT_IDLE_TIMEOUT</code><br><code>--hono.mqtt.tenantIdleTimeout</code></td>
-<td align="center">no</td>
-<td align="left"><code>0ms</code></td>
-<td align="left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
+<td style="text-align:left"><code>HONO_MQTT_TENANT_IDLE_TIMEOUT</code><br><code>--hono.mqtt.tenantIdleTimeout</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left"><code>0ms</code></td>
+<td style="text-align:left">The duration after which the protocol adapter removes local state of the tenant (e.g. open AMQP links) with an amount and a unit, e.g. <code>2h</code> for 2 hours. See the <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration">Spring Boot documentation</a> for an explanation of the format. The value <code>0ms</code> disables the timeout.</td>
 </tr>
 </tbody>
 </table>
-
 <p>The variables only need to be set if the default values do not match your environment.</p>
-
 <h2 id="port-configuration">Port Configuration</h2>
-
 <p>The MQTT protocol adapter can be configured to listen for connections on</p>
-
 <ul>
 <li>a secure port only (default) or</li>
 <li>an insecure port only or</li>
 <li>both a secure and an insecure port (dual port configuration)</li>
 </ul>
-
 <p>The MQTT protocol adapter will fail to start if none of the ports is configured properly.</p>
-
 <h3 id="secure-port-only">Secure Port Only</h3>
-
 <p>The protocol adapter needs to be configured with a private key and certificate in order to open a TLS secured port.</p>
-
 <p>There are two alternative ways for doing so:</p>
-
 <ol>
 <li>either setting the <code>HONO_MQTT_KEY_STORE_PATH</code> and the <code>HONO_MQTT_KEY_STORE_PASSWORD</code> variables in order to load the key &amp; certificate from a password protected key store, or</li>
 <li>setting the <code>HONO_MQTT_KEY_PATH</code> and <code>HONO_MQTT_CERT_PATH</code> variables in order to load the key and certificate from two separate PEM files in PKCS8 format.</li>
 </ol>
-
 <p>When starting up, the protocol adapter will bind a TLS secured socket to the default secure MQTT port 8883. The port number can also be set explicitly using the <code>HONO_MQTT_PORT</code> variable.</p>
-
 <p>The <code>HONO_MQTT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="insecure-port-only">Insecure Port Only</h3>
-
 <p>The secure port will mostly be required for production scenarios. However, it might be desirable to expose a non-TLS secured port instead, e.g. for testing purposes. In any case, the non-secure port needs to be explicitly enabled either by</p>
-
 <ul>
 <li>explicitly setting <code>HONO_MQTT_INSECURE_PORT</code> to a valid port number, or by</li>
 <li>implicitly configuring the default MQTT port (1883) by simply setting <code>HONO_MQTT_INSECURE_PORT_ENABLED</code> to <code>true</code>.</li>
 </ul>
-
 <p>The protocol adapter issues a warning on the console if <code>HONO_MQTT_INSECURE_PORT</code> is set to the default secure MQTT port (8883).</p>
-
 <p>The <code>HONO_MQTT_INSECURE_PORT_BIND_ADDRESS</code> variable can be used to specify the network interface that the port should be exposed on. By default the port is bound to the <em>loopback device</em> only, i.e. the port will only be accessible from the local host. This variable might be used to e.g. expose the non-TLS secured port on a local interface only, thus providing easy access from within the local network, while still requiring encrypted communication when accessed from the outside over public network infrastructure.</p>
-
 <p>Setting this variable to <code>0.0.0.0</code> will let the port being bound to <strong>all</strong> network interfaces (be careful not to expose the port unintentionally to the outside world).</p>
-
 <h3 id="dual-port">Dual Port</h3>
-
 <p>The protocol adapter may be configured to open both a secure and a non-secure port at the same time simply by configuring both ports as described above. For this to work, both ports must be configured to use different port numbers, otherwise startup will fail.</p>
-
 <h3 id="ephemeral-ports">Ephemeral Ports</h3>
-
 <p>Both the secure as well as the insecure port numbers may be explicitly set to <code>0</code>. The protocol adapter will then use arbitrary (unused) port numbers determined by the operating system during startup.</p>
-
 <h2 id="custom-message-mapping">Custom Message Mapping</h2>
-
 <p>This protocol adapter supports transformation of messages that have been uploaded by devices before forwarding them
- to downstream consumers. This message mapping can be used to overwrite the deviceID, add additional properties and
-  change the payload.</p>
-
+to downstream consumers. This message mapping can be used to overwrite the deviceID, add additional properties and
+change the payload.</p>
 <div class="alert alert-notice">
     <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Experimental</h4>
     <div>This is an experimental feature. The names of the configuration properties, potential values and the overall functionality are therefore
 subject to change without prior notice.</div>
 </div>
-
 <p>The following table provides an overview of the configuration variables and corresponding command line options for configuring the external
 service endpoint(s) for transforming messages:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">Environment Variable<br>Command Line Option</th>
-<th align="center">Mandatory</th>
-<th align="left">Default Value</th>
-<th align="left">Description</th>
+<th style="text-align:left">Environment Variable<br>Command Line Option</th>
+<th style="text-align:center">Mandatory</th>
+<th style="text-align:left">Default Value</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_HOST</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.host</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The host name or IP address of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_HOST</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.host</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The host name or IP address of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_PORT</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.port</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The port of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_PORT</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.port</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The port of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
 </tr>
-
 <tr>
-<td align="left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_URI</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.uri</code></td>
-<td align="center">no</td>
-<td align="left">-</td>
-<td align="left">The URI of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
+<td style="text-align:left"><code>HONO_MQTT_MAPPERENDPOINTS_&lt;mapperName&gt;_URI</code><br><code>--hono.mqtt.mapperEndpoints.&lt;mapperName&gt;.uri</code></td>
+<td style="text-align:center">no</td>
+<td style="text-align:left">-</td>
+<td style="text-align:left">The URI of the service to invoke for transforming uploaded messages. The <code>&lt;mapperName&gt;</code> needs to contain the service name as set in the <em>mapper</em> property of the device&rsquo;s registration information.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="implementation">Implementation</h3>
-
-<p>An implementation of the mapper needs to be provided. Following data will be provided to the mapper:
-- HTTP headers:
-  - orig_address
-  - content-type
-  - all strings configured during registration
-- Body
-  - The payload of the message is provided in the body of the mapping request</p>
-
-<p>When the mapper responds successfully(=200), the adapter will map the returning values as follows:
-- The header with key <code>device_id</code> will overwrite the current deviceID.
-- The remaining HTTP headers will be added to the downstream message as additional properties.
-- The returned body will be used to replace the payload.</p>
+<p>An implementation of the mapper needs to be provided. Following data will be provided to the mapper:</p>
+<ul>
+<li>HTTP headers:
+<ul>
+<li>orig_address</li>
+<li>content-type</li>
+<li>all strings configured during registration</li>
+</ul>
+</li>
+<li>Body
+<ul>
+<li>The payload of the message is provided in the body of the mapping request</li>
+</ul>
+</li>
+</ul>
+<p>When the mapper responds successfully(=200), the adapter will map the returning values as follows:</p>
+<ul>
+<li>The header with key <code>device_id</code> will overwrite the current deviceID.</li>
+<li>The remaining HTTP headers will be added to the downstream message as additional properties.</li>
+<li>The returned body will be used to replace the payload.</li>
+</ul>
 
 <footer class="footline">
 	
@@ -3378,19 +3381,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
diff --git a/docs/1.6/admin-guide/secure_communication/index.html b/docs/1.6/admin-guide/secure_communication/index.html
index 9600ae4..55f7d86 100644
--- a/docs/1.6/admin-guide/secure_communication/index.html
+++ b/docs/1.6/admin-guide/secure_communication/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="generator" content="Hugo 0.58.3" />
+    <meta name="generator" content="Hugo 0.81.0" />
     <meta name="description" content="A set of micro-services for connecting millions of devices.">
 <meta name="author" content="The Eclipse Hono Project">
 
@@ -21,21 +21,21 @@
     <title>Secure Communication :: Eclipse Hono&trade; Vers.: 1.6</title>
 
     
-    <link href="/hono/docs/css/nucleus.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/fontawesome-all.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hybrid.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/featherlight.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/auto-complete.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/theme.css?1617757958" rel="stylesheet">
-    <link href="/hono/docs/css/hugo-theme.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/nucleus.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/fontawesome-all.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hybrid.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/featherlight.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/perfect-scrollbar.min.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/auto-complete.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/atom-one-dark-reasonable.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/theme.css?1617844311" rel="stylesheet">
+    <link href="/hono/docs/css/hugo-theme.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/theme-hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/theme-hono.css?1617844311" rel="stylesheet">
     
-    <link href="/hono/docs/css/hono.css?1617757958" rel="stylesheet">
+    <link href="/hono/docs/css/hono.css?1617844311" rel="stylesheet">
 
-    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617757958"></script>
+    <script src="/hono/docs/js/jquery-3.3.1.min.js?1617844311"></script>
 
     <style>
       :root #header + #content > #left > #rlblock_left{
@@ -83,14 +83,14 @@
     <span data-search-clear=""><i class="fas fa-times"></i></span>
 </div>
 
-<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617757958"></script>
-<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1617844311"></script>
+<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1617844311"></script>
 <script type="text/javascript">
     
         var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.6";
     
 </script>
-<script type="text/javascript" src="/hono/docs/js/search.js?1617757958"></script>
+<script type="text/javascript" src="/hono/docs/js/search.js?1617844311"></script>
 
     
   </div>
@@ -1606,7 +1606,37 @@
                   
                     
                     
-                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/secure_communication/">stable (1.6)</option>
+                      <option id="stable" value="https://www.eclipse.org/hono/docs/admin-guide/secure_communication/">stable (1.7)</option>
+                    
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+                  
+              
+          
+              
+              
+                  
+              
+                  
+                    
+                    
+                      <option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/admin-guide/secure_communication/">1.7</option>
                     
                   
               
@@ -1632,6 +1662,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/admin-guide/secure_communication/" selected>1.6</option>
@@ -1660,6 +1692,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/admin-guide/secure_communication/">1.5</option>
@@ -1688,6 +1722,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/admin-guide/secure_communication/">1.4</option>
@@ -1716,6 +1752,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/admin-guide/secure_communication/">1.3</option>
@@ -1744,6 +1782,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/admin-guide/secure_communication/">1.2</option>
@@ -1772,6 +1812,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/admin-guide/secure_communication/">1.1</option>
@@ -1800,6 +1842,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/admin-guide/secure_communication/">1.0</option>
@@ -1828,6 +1872,8 @@
                   
               
                   
+              
+                  
                     
                     
                       <option id="dev" value="https://www.eclipse.org/hono/docs/dev/admin-guide/secure_communication/">dev</option>
@@ -1884,6 +1930,12 @@
         <div id="overlay"></div>
 
         
+    <div class="old-version-hint">
+        <p>This page refers to version <em>1.6</em>.
+            You might want to use the <a href="https://www.eclipse.org/hono/docs/">current stable</a> version.
+        </p>
+    </div>
+
 
 
         <div class="padding highlightable">
@@ -1940,27 +1992,26 @@
                     <div class="progress">
     <div class="wrapper">
 <nav id="TableOfContents">
-<ul>
-<li>
-<ul>
-<li><a href="#enabling-tls">Enabling TLS</a>
-<ul>
-<li><a href="#auth-server">Auth Server</a></li>
-<li><a href="#dispatch-router">Dispatch Router</a></li>
-<li><a href="#file-based-device-registry">File Based Device Registry</a></li>
-<li><a href="#mongodb-based-device-registry">MongoDB Based Device Registry</a></li>
-<li><a href="#http-adapter">HTTP Adapter</a></li>
-<li><a href="#mqtt-adapter">MQTT Adapter</a></li>
-<li><a href="#kura-adapter">Kura Adapter</a></li>
-<li><a href="#client-application">Client Application</a></li>
-</ul></li>
-<li><a href="#using-openssl">Using OpenSSL</a>
-<ul>
-<li><a href="#configuring-containers">Configuring Containers</a></li>
-</ul></li>
-<li><a href="#server-name-indication-sni">Server Name Indication (SNI)</a></li>
-</ul></li>
-</ul>
+  <ul>
+    <li><a href="#enabling-tls">Enabling TLS</a>
+      <ul>
+        <li><a href="#auth-server">Auth Server</a></li>
+        <li><a href="#dispatch-router">Dispatch Router</a></li>
+        <li><a href="#file-based-device-registry">File Based Device Registry</a></li>
+        <li><a href="#mongodb-based-device-registry">MongoDB Based Device Registry</a></li>
+        <li><a href="#http-adapter">HTTP Adapter</a></li>
+        <li><a href="#mqtt-adapter">MQTT Adapter</a></li>
+        <li><a href="#kura-adapter">Kura Adapter</a></li>
+        <li><a href="#client-application">Client Application</a></li>
+      </ul>
+    </li>
+    <li><a href="#using-openssl">Using OpenSSL</a>
+      <ul>
+        <li><a href="#configuring-containers">Configuring Containers</a></li>
+      </ul>
+    </li>
+    <li><a href="#server-name-indication-sni">Server Name Indication (SNI)</a></li>
+  </ul>
 </nav>
     </div>
 </div>
@@ -1984,16 +2035,11 @@
         
 
 
-<p>The individual components of an Eclipse Hono&trade; installation, e.g. the protocol adapters, <em>AMQP Messaging Network</em>, <em>Hono Auth</em> etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of <em>Transport Layer Security</em> (TLS) and how to configure it.</p>
-
+<p>The individual components of an Eclipse Hono™ installation, e.g. the protocol adapters, <em>AMQP Messaging Network</em>, <em>Hono Auth</em> etc., and the clients attaching to Hono in order to send and receive data all communicate with each other using AMQP 1.0 over TCP. The Hono components and the clients will usually not be located on the same local network but will probably communicate over public networking infrastructure. For most use cases it is therefore desirable, if not necessary, to provide for confidentiality of the data being transferred between these components. This section describes how Hono supports confidentiality by means of <em>Transport Layer Security</em> (TLS) and how to configure it.</p>
 <h2 id="enabling-tls">Enabling TLS</h2>
-
 <p>All of Hono&rsquo;s components can be configured to use TLS for establishing an encrypted communication channel with peers. When a client initiates a connection with a server, the TLS handshake protocol is used to negotiate parameters of a secure channel to be used for exchanging data. The most important of those parameters is a secret (symmetric) encryption key that is only known to the client and the server and which is used to transparently encrypt all data being sent over the connection as long as the connection exists. With each new connection, a new secret key is negotiated.</p>
-
 <p>Using TLS in this way requires configuring the server component with a cryptographic <em>private/public key</em> pair and a <em>certificate</em> which <em>binds</em> an <em>identity claim</em> to the public key. It is out of scope of this document to describe the full process of creating such a key pair and acquiring a corresponding certificate. The <code>demo-certs</code> module already contains a set of keys and certificates to be used for evaluation and demonstration purposes. Throughout the rest of this section we will use these keys and certificates . Please refer to the <code>demo-certs/README.md</code> file for details regarding how to create your own keys and certificates.</p>
-
 <p>Within a Hono installation the following communication channels can be secured with TLS:</p>
-
 <ol>
 <li>Applications connecting to <em>Dispatch Router</em> - Client applications consuming e.g. Telemetry data from Hono connect to the AMQP Messaging Network. This connection can be secured by configuring the client and the messaging network for TLS.</li>
 <li><em>Device Registry</em> connecting to <em>Auth Server</em> - The Device Registry connects to the Auth Server in order to verify client credentials and determine the client&rsquo;s authorities. This (internal) connection can (should) be secured by configuring the Auth Server and Device Registry for TLS.</li>
@@ -2002,248 +2048,195 @@
 <li><em>Devices</em> connecting to a <em>Protocol Adapter</em> - Devices use TLS to both authenticate the protocol adapter and to establish an encrypted channel that provides integrity and privacy when transmitting data. Note that the specifics of if and how TLS can be used with a particular protocol adapter is specific to the transport protocol the adapter uses for communicating with the devices.</li>
 <li><em>Liveness/readiness probes</em> connecting to <em>Service Health Checks</em> - Systems like Kubernetes are periodically checking the health status of the individual services . This communication can be secured by configuring the health check of the individual services to expose a secure endpoint.</li>
 </ol>
-
 <h3 id="auth-server">Auth Server</h3>
-
 <p>The Auth Server supports the use of TLS for connections to clients. Please refer to the <a href="/hono/docs/1.6/admin-guide/auth-server-config/">Auth Server admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder includes the following demo keys and certificates to be used with the Auth Server for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>auth-server-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>auth-server-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>auth-server-cert.pem</code></td>
-<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+<td style="text-align:left"><code>auth-server-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the server&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="dispatch-router">Dispatch Router</h3>
-
 <p>The Dispatch Router reads its configuration from a file on startup (the default location is <code>/etc/qpid-dispatch/qdrouterd.conf</code>). Please refer to the <a href="https://qpid.apache.org/components/dispatch-router/index.html">Dispatch Router documentation</a> for details regarding the configuration of TLS/SSL.</p>
-
 <p>The <code>demo-certs/certs</code> folder includes the following demo keys and certificates to be used with the Dispatch Router for that purpose:</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>qdrouter-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>qdrouter-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>qdrouter-cert.pem</code></td>
-<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+<td style="text-align:left"><code>qdrouter-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the server&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="file-based-device-registry">File Based Device Registry</h3>
-
 <p>The file based Device Registry supports the use of TLS for connections to protocol adapters and the Auth Server.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/file-based-device-registry-config/">file based Device Registry admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the file based Device Registry for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>auth-server-cert.pem</code></td>
-<td align="left">The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.</td>
+<td style="text-align:left"><code>auth-server-cert.pem</code></td>
+<td style="text-align:left">The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>device-registry-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>device-registry-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>device-registry-cert.pem</code></td>
-<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+<td style="text-align:left"><code>device-registry-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the server&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="mongodb-based-device-registry">MongoDB Based Device Registry</h3>
-
 <p>The MongoDB based Device Registry supports the use of TLS for connections to protocol adapters and the Auth Server.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/mongodb-device-registry-config/">MongoDB based Device Registry admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the MongoDB based Device Registry for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>auth-server-cert.pem</code></td>
-<td align="left">The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.</td>
+<td style="text-align:left"><code>auth-server-cert.pem</code></td>
+<td style="text-align:left">The certificate of the Auth Server, used to verify the signatures of tokens issued by the Auth Server.</td>
 </tr>
-
 <tr>
-<td align="left"><code>device-registry-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>device-registry-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>device-registry-cert.pem</code></td>
-<td align="left">The example certificate asserting the server&rsquo;s identity.</td>
+<td style="text-align:left"><code>device-registry-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the server&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="http-adapter">HTTP Adapter</h3>
-
 <p>The HTTP adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/http-adapter-config/">HTTP adapter admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the HTTP adapter for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>http-adapter-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>http-adapter-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>http-adapter-cert.pem</code></td>
-<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+<td style="text-align:left"><code>http-adapter-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the adapter&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="mqtt-adapter">MQTT Adapter</h3>
-
 <p>The MQTT adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/mqtt-adapter-config/">MQTT adapter admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the MQTT adapter for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>mqtt-adapter-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>mqtt-adapter-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>mqtt-adapter-cert.pem</code></td>
-<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+<td style="text-align:left"><code>mqtt-adapter-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the adapter&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="kura-adapter">Kura Adapter</h3>
-
 <p>The Kura adapter supports the use of TLS for its connections to the Tenant service, the Device Registration service, the Credentials service and the AMQP Messaging Network. The adapter also supports the use of TLS for connections with devices. For this purpose, the adapter can be configured with a server certificate and private key.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/kura-adapter-config/">Kura adapter admin guide</a> for details regarding the required configuration steps.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys and certificates to be used with the Kura adapter for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>kura-adapter-key.pem</code></td>
-<td align="left">The example private key for creating signatures.</td>
+<td style="text-align:left"><code>kura-adapter-key.pem</code></td>
+<td style="text-align:left">The example private key for creating signatures.</td>
 </tr>
-
 <tr>
-<td align="left"><code>kura-adapter-cert.pem</code></td>
-<td align="left">The example certificate asserting the adapter&rsquo;s identity.</td>
+<td style="text-align:left"><code>kura-adapter-cert.pem</code></td>
+<td style="text-align:left">The example certificate asserting the adapter&rsquo;s identity.</td>
 </tr>
-
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h3 id="client-application">Client Application</h3>
-
 <p>When the connection between an application client and Hono (i.e. the Dispatch Router) is supposed to be secured by TLS (which is a good idea),
 then the client application needs to be configured to trust the CA that signed the Dispatch Router&rsquo;s certificate chain.
 Clients can use the <code>org.eclipse.hono.client.HonoConnection.newConnection(ClientConfigProperties)</code> method to establish a connection
@@ -2251,102 +2244,74 @@
 with the trust store containing the CA&rsquo;s certificate.
 Please refer to the <a href="/hono/docs/1.6/admin-guide/hono-client-configuration/">Hono Client configuration guide</a> for details regarding the
 corresponding configuration properties that need to be set.</p>
-
 <p>The <code>demo-certs/certs</code> folder contains the following demo keys to be used with client applications for that purpose.</p>
-
 <table>
 <thead>
 <tr>
-<th align="left">File</th>
-<th align="left">Description</th>
+<th style="text-align:left">File</th>
+<th style="text-align:left">Description</th>
 </tr>
 </thead>
-
 <tbody>
 <tr>
-<td align="left"><code>trusted-certs.pem</code></td>
-<td align="left">Trusted CA certificates to use for verifying signatures.</td>
+<td style="text-align:left"><code>trusted-certs.pem</code></td>
+<td style="text-align:left">Trusted CA certificates to use for verifying signatures.</td>
 </tr>
 </tbody>
 </table>
-
 <h2 id="using-openssl">Using OpenSSL</h2>
-
 <p>Hono&rsquo;s individual services are implemented in Java and therefore, by default, use the SSL/TLS engine that comes with the Java Virtual Machine that the services are running on. In case of the Docker images provided by Hono this is the SSL engine of OpenJDK. While the standard SSL engine has the advantage of being a part of the JVM itself and thus being available on every operating system that the JVM is running on without further installation, it provides only limited performance and throughput when compared to native TLS implementations like <a href="https://www.openssl.org/">OpenSSL</a>.</p>
-
 <p>In order to address this problem, the Netty networking library that is used in Hono&rsquo;s components can be configured to employ the OpenSSL instead of the JVM&rsquo;s SSL engine by means of Netty&rsquo;s <a href="http://netty.io/wiki/forked-tomcat-native.html">Forked Tomcat Native</a> (tcnative) module.</p>
-
 <p>The tcnative module comes in several flavors, corresponding to the way that the OpenSSL library has been linked in. The statically linked versions include a specific version of OpenSSL (or <a href="https://boringssl.googlesource.com/">BoringSSL</a> for that matter) and is therefore most easy to use on supported platforms, regardless of whether another version of OpenSSL is already installed or not. In contrast, the dynamically linked variants depend on a particular version of OpenSSL being already installed on the operating system. Both approaches have their pros and cons and Hono therefore does not include tcnative in its Docker images by default, i.e. Hono&rsquo;s services will use the JVM&rsquo;s default SSL engine by default.</p>
-
 <h3 id="configuring-containers">Configuring Containers</h3>
-
 <p>When starting up any of Hono&rsquo;s Docker images as a container, the JVM will look for additional jar files to include in its classpath in the container&rsquo;s <code>/opt/hono/extensions</code> folder. Thus, using a specific variant of tcnative is just a matter of configuring the container to mount a volume or binding a host folder at that location and putting the desired variant of tcnative into the corresponding volume or host folder.r
 Assuming that the Auth Server should be run with the statically linked, BoringSSL based tcnative variant, the following steps are necessary:</p>
-
 <ol>
 <li><a href="http://netty.io/wiki/forked-tomcat-native.html#how-to-download-netty-tcnative-boringssl-static">Download tcnative</a> matching the platform architecture (<em>linux-x86_64</em>).</li>
 <li>Put the jar file to a folder on the Docker host, e.g. <code>/tmp/tcnative</code>.</li>
-
-<li><p>Start the Auth Server Docker image mounting the host folder:</p>
-
-<pre><code class="language-sh">docker run --name hono-auth-server --mount type=bind,src=/tmp/tcnative,dst=/opt/hono/extensions,ro ... eclipse/hono-service-auth
-</code></pre></li>
+<li>Start the Auth Server Docker image mounting the host folder:</li>
 </ol>
-
-<p>Note that the command given above does not contain the environment variables and secrets that are usually required to configure the service properly.</p>
-
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">docker run --name hono-auth-server --mount type<span style="color:#f92672">=</span>bind,src<span style="color:#f92672">=</span>/tmp/tcnative,dst<span style="color:#f92672">=</span>/opt/hono/extensions,ro ... eclipse/hono-service-auth
+</code></pre></div><p>Note that the command given above does not contain the environment variables and secrets that are usually required to configure the service properly.</p>
 <p>When the Auth Server starts up, it will look for a working variant of tcnative on its classpath and (if found) use it for establishing TLS connections. The service&rsquo;s log file will indicate whether the JVM&rsquo;s default SSL engine or OpenSSL is used.</p>
-
 <p>Using a Docker <em>volume</em> instead of a <em>bind mount</em> works the same way but requires the use of <code>volume</code> as the <em>type</em> of the <code>--mount</code> parameter. Please refer to the <a href="https://docs.docker.com/edge/engine/reference/commandline/service_create/#add-bind-mounts-volumes-or-memory-filesystems">Docker reference documentation</a> for details.</p>
-
 <h2 id="server-name-indication-sni">Server Name Indication (SNI)</h2>
-
 <p><a href="https://tools.ietf.org/html/rfc6066#section-3">Server Name Indication</a> can be used to indicate to a server the host name that the client wants to
 connect to as part of the TLS handshake. This is useful in order to be able to host multiple <em>virtual</em> servers on a single network address.
 In particular, SNI allows server components to select a server certificate that matches the domain name indicated by the client using SNI.</p>
-
 <p>Hono&rsquo;s protocol adapters support <em>virtual</em> servers by means of SNI as described above. Devices can then connect to a protocol adapter using any one
 of the configured <em>virtual</em> domain names.</p>
-
 <p>The following steps a re necessary in order to configure the protocol adapters with multiple <em>virtual</em> servers:</p>
-
 <ol>
-<li>Create Server Certificate(s)</li>
-</ol>
-
+<li>
+<p>Create Server Certificate(s)</p>
 <p>When a device establishes a connection to one of Hono&rsquo;s protocol adapters using one of its <em>virtual</em> domain names, then it includes the domain name in
-   its TLS <em>hello</em> message by means of the SNI extension. The server can then use this information to determine the matching server certificate and
-   corresponding private key that is required to perform the TLS handshake.</p>
-
+its TLS <em>hello</em> message by means of the SNI extension. The server can then use this information to determine the matching server certificate and
+corresponding private key that is required to perform the TLS handshake.</p>
 <p>It is therefore necessary to create a private key and certificate for each <em>virtual</em> server to be hosted.
-   The <em>virtual</em> server&rsquo;s domain name needs to be added to the certificate&rsquo;s <em>Subject Alternative Name</em> (SAN) list in order for Hono to be able to
-   determine the key/certificate pair to use for the TLS handshake with the device.
-   Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#_server_name_indication_sni">vert.x SNI guide</a> for details on how this works under the hood.</p>
-
+The <em>virtual</em> server&rsquo;s domain name needs to be added to the certificate&rsquo;s <em>Subject Alternative Name</em> (SAN) list in order for Hono to be able to
+determine the key/certificate pair to use for the TLS handshake with the device.
+Please refer to the <a href="https://vertx.io/docs/vertx-core/java/#_server_name_indication_sni">vert.x SNI guide</a> for details on how this works under the hood.</p>
 <p>Hono&rsquo;s protocol adapters then need to be configured with the server certificates and keys. In order to do so, the certificates and corresponding private
-   keys need to be added to a <em>key store</em>. Hono supports the <em>JKS</em> and <em>PKCS12</em> key store formats for that purpose.
-   Once the key store has been created, Hono&rsquo;s protocol adapters need to be configured with the path to the key store by means of the adapters&rsquo;
-   <code>KEY_STORE_PATH</code> configuration variable. Please refer to the <a href="/hono/docs/1.6/admin-guide/">protocol adapter admin guides</a> for details on how to
-   configure the key store path.</p>
-
-<ol>
-<li>Enable SNI for Hono&rsquo;s Protocol Adapters</li>
-</ol>
-
+keys need to be added to a <em>key store</em>. Hono supports the <em>JKS</em> and <em>PKCS12</em> key store formats for that purpose.
+Once the key store has been created, Hono&rsquo;s protocol adapters need to be configured with the path to the key store by means of the adapters'
+<code>KEY_STORE_PATH</code> configuration variable. Please refer to the <a href="/hono/docs/1.6/admin-guide/">protocol adapter admin guides</a> for details on how to
+configure the key store path.</p>
+</li>
+<li>
+<p>Enable SNI for Hono&rsquo;s Protocol Adapters</p>
 <p>Hono&rsquo;s protocol adapters can be configured to support SNI by means of the <code>SNI</code> configuration variable. Please refer to the
-   <a href="/hono/docs/1.6/admin-guide/">protocol adapter admin guides</a> for details on how to set this variable.</p>
-
-<ol>
-<li>Verify Configuration</li>
-</ol>
-
+<a href="/hono/docs/1.6/admin-guide/">protocol adapter admin guides</a> for details on how to set this variable.</p>
+</li>
+<li>
+<p>Verify Configuration</p>
 <p>The setup can be verified by means of the command line tools that are part of <a href="https://www.openssl.org/">OpenSSL</a>.
-   Assuming that the MQTT protocol adapter&rsquo;s IP address is <code>10.100.84.23</code>, its secure endpoint is bound to port 31884 and it has
-   been configured with a certificate using domain name <em>my-hono.eclipse.org</em>, then the following command can be used to test
-   if a TLS secured connection with the adapter using that virtual host name can be established successfully:</p>
-
-<pre><code class="language-sh">   openssl s_client -connect 10.100.84.23:31884 -servername my-hono.eclipse.org
-</code></pre>
+Assuming that the MQTT protocol adapter&rsquo;s IP address is <code>10.100.84.23</code>, its secure endpoint is bound to port 31884 and it has
+been configured with a certificate using domain name <em>my-hono.eclipse.org</em>, then the following command can be used to test
+if a TLS secured connection with the adapter using that virtual host name can be established successfully:</p>
+<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-sh" data-lang="sh">openssl s_client -connect 10.100.84.23:31884 -servername my-hono.eclipse.org
+</code></pre></div></li>
+</ol>
 
 <footer class="footline">
 	
@@ -3459,19 +3424,19 @@
     <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
       <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
     </div>
-    <script src="/hono/docs/js/clipboard.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617757959"></script>
-    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617757959"></script>
-    <script src="/hono/docs/js/jquery.sticky.js?1617757959"></script>
-    <script src="/hono/docs/js/featherlight.min.js?1617757959"></script>
-    <script src="/hono/docs/js/highlight.pack.js?1617757959"></script>
+    <script src="/hono/docs/js/clipboard.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.min.js?1617844312"></script>
+    <script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1617844312"></script>
+    <script src="/hono/docs/js/jquery.sticky.js?1617844312"></script>
+    <script src="/hono/docs/js/featherlight.min.js?1617844312"></script>
+    <script src="/hono/docs/js/highlight.pack.js?1617844312"></script>
     <script>hljs.initHighlightingOnLoad();</script>
-    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617757959"></script>
-    <script src="/hono/docs/js/learn.js?1617757959"></script>
-    <script src="/hono/docs/js/hugo-learn.js?1617757959"></script>
+    <script src="/hono/docs/js/modernizr.custom-3.6.0.js?1617844312"></script>
+    <script src="/hono/docs/js/learn.js?1617844312"></script>
+    <script src="/hono/docs/js/hugo-learn.js?1617844312"></script>
 
-    <link href="/hono/docs/mermaid/mermaid.css?1617757959" rel="stylesheet" />
-    <script src="/hono/docs/mermaid/mermaid.js?1617757959"></script>
+    <link href="/hono/docs/mermaid/mermaid.css?1617844312" rel="stylesheet" />
+    <script src="/hono/docs/mermaid/mermaid.js?1617844312"></script>
     <script>
         mermaid.initialize({ startOnLoad: true });
     </script>
