blob: 861c4acd3708b0f939959b4e5702e5ec70148bb7 [file] [log] [blame]
<!DOCTYPE html>
<html lang="1.7" class="js csstransforms3d">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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">
<link rel="apple-touch-icon" sizes="180x180" href="/hono/docs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<title>Helm based Deployment :: Eclipse Hono&trade; Vers.: 1.7</title>
<link href="/hono/docs/css/nucleus.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/fontawesome-all.min.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/hybrid.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/featherlight.min.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/perfect-scrollbar.min.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/auto-complete.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/atom-one-dark-reasonable.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/theme.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/hugo-theme.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/theme-hono.css?1626138719" rel="stylesheet">
<link href="/hono/docs/css/hono.css?1626138719" rel="stylesheet">
<script src="/hono/docs/js/jquery-3.3.1.min.js?1626138719"></script>
<style>
:root #header + #content > #left > #rlblock_left{
display:none !important;
}
:not(pre) > code + span.copy-to-clipboard {
display: none;
}
</style>
<link rel="stylesheet" href="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="Helm based Deployment :: Eclipse Hono&amp;trade; Vers.: 1.7">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">
<meta property="og:title" content="Helm based Deployment :: Eclipse Hono&amp;trade; Vers.: 1.7" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/1.7/deployment/helm-based-deployment//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/images/twitter_image.png" />
</head>
<body class="" data-url="/hono/docs/1.7/deployment/helm-based-deployment/">
<nav id="sidebar" class="">
<div id="header-wrapper">
<div id="header">
<a href="https://www.eclipse.org/hono/">
<img src="/hono/docs/images/HONO-Logo_Bild-Wort_quer-w-310x120px.svg" alt="Hono logo" class="logo-img">
</a>
</div>
<div class="searchbox">
<label for="search-by"><i class="fas fa-search"></i></label>
<input data-search-input id="search-by" type="search" placeholder="Search...">
<span data-search-clear=""><i class="fas fa-times"></i></span>
</div>
<script type="text/javascript" src="/hono/docs/js/lunr.min.js?1626138719"></script>
<script type="text/javascript" src="/hono/docs/js/auto-complete.js?1626138719"></script>
<script type="text/javascript">
var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/\/1.7";
</script>
<script type="text/javascript" src="/hono/docs/js/search.js?1626138719"></script>
</div>
<div class="highlightable">
<ul class="topics">
<li data-nav-id="/hono/docs/1.7/concepts/" title="Concepts" class="dd-item
">
<a href="/hono/docs/1.7/concepts/">
<i class="far fa-lightbulb"></i> Concepts
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/concepts/device-identity/" title="Device Identity" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-identity/">
Device Identity
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
<a href="/hono/docs/1.7/concepts/tenancy/">
Multi-Tenancy
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/device-provisioning/" title="Device Provisioning" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-provisioning/">
Device Provisioning
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/connecting-devices/" title="Connecting Devices" class="dd-item ">
<a href="/hono/docs/1.7/concepts/connecting-devices/">
Connecting Devices
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
<a href="/hono/docs/1.7/concepts/device-notifications/">
Device Notifications
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
<a href="/hono/docs/1.7/concepts/command-and-control/">
Command &amp; Control
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/resource-limits/" title="Resource limits" class="dd-item ">
<a href="/hono/docs/1.7/concepts/resource-limits/">
Resource limits
</a>
</li>
<li data-nav-id="/hono/docs/1.7/concepts/connection-events/" title="Connection Events" class="dd-item ">
<a href="/hono/docs/1.7/concepts/connection-events/">
Connection Events
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/" title="User Guide" class="dd-item
">
<a href="/hono/docs/1.7/user-guide/">
<i class="fas fa-book-reader"></i> User Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/user-guide/mongodb-based-device-registry/" title="MongoDB Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/mongodb-based-device-registry/">
MongoDB Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/jdbc-based-device-registry/" title="JDBC Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/jdbc-based-device-registry/">
JDBC Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/file-based-device-registry/" title="File Based Device Registry" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/file-based-device-registry/">
File Based Device Registry
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/http-adapter/">
HTTP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/mqtt-adapter/">
MQTT Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/amqp-adapter/">
AMQP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/coap-adapter/" title="CoAP Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/coap-adapter/">
CoAP Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/kura-adapter/">
Kura Adapter
</a>
</li>
<li data-nav-id="/hono/docs/1.7/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
<a href="/hono/docs/1.7/user-guide/sigfox-adapter/">
Sigfox Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/" title="Admin Guide" class="dd-item
">
<a href="/hono/docs/1.7/admin-guide/">
<i class="fas fa-sliders-h"></i> Admin Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/common-config/">
Common Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/auth-server-config/">
Auth Server Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/mongodb-device-registry-config/" title="MongoDB Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/mongodb-device-registry-config/">
MongoDB Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/jdbc-device-registry-config/" title="JDBC Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/jdbc-device-registry-config/">
JDBC Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/file-based-device-registry-config/" title="File Based Device Registry Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/file-based-device-registry-config/">
File Based Device Registry Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/command-router-config/" title="Configuring the Command Router Service" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/command-router-config/">
Command Router Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/device-connection-config/" title="Configuring the Device Connection Service" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/device-connection-config/">
Device Connection Service Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/http-adapter-config/">
HTTP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/mqtt-adapter-config/">
MQTT Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/amqp-adapter-config/">
AMQP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/coap-adapter-config/" title="CoAP Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/coap-adapter-config/">
CoAP Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/kura-adapter-config/">
Kura Adapter Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/hono-client-configuration/">
Hono Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/" title="Hono Kafka Client Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/hono-kafka-client-configuration/">
Hono Kafka Client Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/amqp-network-config/">
AMQP 1.0 Messaging Network Configuration
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/secure_communication/">
Secure Communication
</a>
</li>
<li data-nav-id="/hono/docs/1.7/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
<a href="/hono/docs/1.7/admin-guide/monitoring-tracing-config/">
Monitoring &amp; Tracing
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/" title="Developer Guide" class="dd-item
">
<a href="/hono/docs/1.7/dev-guide/">
<i class="fas fa-tools"></i> Developer Guide
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/building_hono/">
Building from Source
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/amqp_adapter_client/" title="AMQP Adapter Client for Java" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/amqp_adapter_client/">
AMQP Adapter Client for Java
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/java_client_consumer/">
Consuming Messages from Java
</a>
</li>
<li data-nav-id="/hono/docs/1.7/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
<a href="/hono/docs/1.7/dev-guide/custom_http_adapter/">
Implement a Custom Hono HTTP Protocol Adapter
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/api/" title="API" class="dd-item
">
<a href="/hono/docs/1.7/api/">
&nbsp;<i class='fas fa-plug'></i>&nbsp;API
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/api/telemetry/" title="Telemetry API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/telemetry/">
Telemetry API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/event/" title="Event API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/event/">
Event API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-and-control/" title="Command &amp; Control API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-and-control/">
Command &amp; Control API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/kafka-api/" title="Kafka-based APIs" class="dd-item ">
<a href="/hono/docs/1.7/api/kafka-api/">
Kafka-based APIs
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/telemetry-kafka/" title="Telemetry API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/telemetry-kafka/">
Telemetry API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/event-kafka/" title="Event API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/event-kafka/">
Event API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-and-control-kafka/" title="Command &amp; Control API for Kafka Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-and-control-kafka/">
Command &amp; Control API for Kafka
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/tenant/" title="Tenant API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/tenant/">
Tenant API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/command-router/" title="Command Router API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/command-router/">
Command Router API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/device-connection/" title="Device Connection API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/device-connection/">
Device Connection API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/device-registration/" title="Device Registration API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/device-registration/">
Device Registration API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/credentials/" title="Credentials API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/credentials/">
Credentials API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/authentication/" title="Authentication API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/authentication/">
Authentication API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/management/" title="Device Registry Management API Specification" class="dd-item ">
<a href="/hono/docs/1.7/api/management/">
Device Registry Management API
</a>
</li>
<li data-nav-id="/hono/docs/1.7/api/metrics/" title="Metrics" class="dd-item ">
<a href="/hono/docs/1.7/api/metrics/">
Metrics
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/" title="Deployment" class="dd-item
parent
">
<a href="/hono/docs/1.7/deployment/">
<i class="fas fa-shipping-fast"></i> Deployment
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item active">
<a href="/hono/docs/1.7/deployment/helm-based-deployment/">
Helm based Deployment
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/openshift/" title="OpenShift / OKD" class="dd-item ">
<a href="/hono/docs/1.7/deployment/openshift/">
OpenShift / OKD
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
<a href="/hono/docs/1.7/deployment/create-kubernetes-cluster/">
Setting up a Kubernetes Cluster
</a>
</li>
<li data-nav-id="/hono/docs/1.7/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
<a href="/hono/docs/1.7/deployment/resource-limitation/">
Limiting Resource Usage
</a>
</li>
</ul>
</li>
<li data-nav-id="/hono/docs/1.7/architecture/" title="Architecture" class="dd-item
">
<a href="/hono/docs/1.7/architecture/">
<i class="fas fa-landmark"></i> Architecture
</a>
<ul>
<li data-nav-id="/hono/docs/1.7/architecture/component-view/" title="Component View" class="dd-item ">
<a href="/hono/docs/1.7/architecture/component-view/">
Component View
</a>
</li>
<li data-nav-id="/hono/docs/1.7/architecture/auth/" title="Authentication/Authorization" class="dd-item ">
<a href="/hono/docs/1.7/architecture/auth/">
Authentication/Authorization
</a>
</li>
</ul>
</li>
</ul>
<section id="shortcuts">
<h3></h3>
<ul>
<li>
<a class="padding" href="https://www.eclipse.org/hono/" title="Hono&#39;s Homepage"><i class='fas fa-home'></i> Hono Home</a>
</li>
<li>
<a class="padding" href="https://www.eclipse.org/hono/getting-started/" title="Getting started with Eclipse Hono"><i class='fas fa-plane-departure'></i> Getting Started</a>
</li>
</ul>
</section>
<section id="prefooter">
<hr/>
<ul>
<li>
<div id="select-box-wrapper">
<div id="select-box">
<a class="padding">
Version:&nbsp;
<div class="select-style">
<select id="select-language" onchange="location = this.value;">
<option id="stable" value="https://www.eclipse.org/hono/docs/deployment/helm-based-deployment/">stable (1.8)</option>
<option id="1.8" value="https://www.eclipse.org/hono/docs/1.8/deployment/helm-based-deployment/">1.8</option>
<option id="1.7" value="https://www.eclipse.org/hono/docs/1.7/deployment/helm-based-deployment/" selected>1.7</option>
<option id="1.6" value="https://www.eclipse.org/hono/docs/1.6/deployment/helm-based-deployment/">1.6</option>
<option id="1.5" value="https://www.eclipse.org/hono/docs/1.5/deployment/helm-based-deployment/">1.5</option>
<option id="1.4" value="https://www.eclipse.org/hono/docs/1.4/deployment/helm-based-deployment/">1.4</option>
<option id="1.3" value="https://www.eclipse.org/hono/docs/1.3/deployment/helm-based-deployment/">1.3</option>
<option id="1.2" value="https://www.eclipse.org/hono/docs/1.2/deployment/helm-based-deployment/">1.2</option>
<option id="1.1" value="https://www.eclipse.org/hono/docs/1.1/deployment/helm-based-deployment/">1.1</option>
<option id="1.0" value="https://www.eclipse.org/hono/docs/1.0/deployment/helm-based-deployment/">1.0</option>
<option id="dev" value="https://www.eclipse.org/hono/docs/dev/deployment/helm-based-deployment/">dev</option>
</select>
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="255px" height="255px" viewBox="0 0 255 255" style="enable-background:new 0 0 255 255;" xml:space="preserve">
<g>
<g id="arrow-drop-down">
<polygon points="0,63.75 127.5,191.25 255,63.75 " />
</g>
</g>
</svg>
</div>
</a>
</div>
</div>
</li>
</ul>
</section>
<section id="footer">
<p>&copy; 2021 <a href="https://www.eclipse.org/hono/">The Eclipse Hono Project</a></p>
<p>
Documentation built with
<a href="https://gohugo.io/" target="_blank">Hugo</a>
using the
<a href="https://github.com/matcornic/hugo-theme-learn" target="_blank">Learn</a> theme.
</p>
<div class="eclipse-logo">
<a href="https://www.eclipse.org" target="_blank">
<img src="https://www.eclipse.org/hono/docs/images/eclipse_foundation_logo.svg"/>
</a>
</div>
</section>
</div>
</nav>
<section id="body">
<div id="overlay"></div>
<div class="old-version-hint">
<p>This page refers to version <em>1.7</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">
<div>
<div id="top-bar">
<div id="top-github-link">
<a class="github-link" title='Edit this page' href="https://github.com/eclipse/hono/edit/master/site/documentation/content/deployment/helm-based-deployment.md" target="blank">
<i class="fas fa-code-branch"></i>
<span id="top-github-link-text">Edit this page</span>
</a>
</div>
<div id="breadcrumbs" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb">
<span id="sidebar-toggle-span">
<a href="#" id="sidebar-toggle" data-sidebar-toggle="">
<i class="fas fa-bars"></i>
</a>
</span>
<span id="toc-menu"><i class="fas fa-list-alt"></i></span>
<span class="links">
<a href='/hono/docs/1.7/'>Documentation</a> > <a href='/hono/docs/1.7/deployment/'>Deployment</a> > Helm based Deployment
</span>
</div>
<div class="progress">
<div class="wrapper">
<nav id="TableOfContents">
<ul>
<li><a href="#installing-hono">Installing Hono</a></li>
<li><a href="#deploying-custom-container-images">Deploying custom Container Images</a>
<ul>
<li><a href="#deploying-via-a-private-registry">Deploying via a private Registry</a></li>
<li><a href="#deploying-to-minikube">Deploying to Minikube</a></li>
<li><a href="#using-jaeger-tracing">Using Jaeger Tracing</a></li>
<li><a href="#deploying-to-azure-kubernetes-service-aks">Deploying to Azure Kubernetes Service (AKS)</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="head-tags">
</div>
<div id="body-inner">
<h1>
Helm based Deployment
</h1>
<p>Eclipse Honoâ„¢&rsquo;s components are provided as container images which can be run on arbitrary container orchestration platforms.
This page describes the steps necessary to deploy Hono to a <a href="https://kubernetes.io">Kubernetes</a> cluster using the
<a href="https://helm.sh">Helm package manager</a>.</p>
<h2 id="installing-hono">Installing Hono</h2>
<p>Hono&rsquo;s Helm chart is available from the <a href="https://www.eclipse.org/packages/repository/">Eclipse IoT Packages chart repository</a>.
Please refer to the <a href="https://github.com/eclipse/packages/blob/master/charts/hono/README.md">chart&rsquo;s README</a> for
instructions regarding installation and configuration.</p>
<h2 id="deploying-custom-container-images">Deploying custom Container Images</h2>
<p>The chart by default installs Hono&rsquo;s pre-built container images. In some cases it might be desirable to build Hono
from source, e.g. in order to use a different metrics back end or to <a href="#using-jaeger-tracing">use Jaeger tracing</a>.</p>
<p>The container images created as part of the build process need to be made available to the Kubernetes cluster that
Hono should be installed to. This usually requires the images to be pushed to a (private) container registry that
the cluster can pull them from. Please refer to the documentation of the employed Kubernetes service provider for
details regarding the setup and configuration of a private container registry.</p>
<h3 id="deploying-via-a-private-registry">Deploying via a private Registry</h3>
<p>The first step is getting the source code of Hono. Please refer to <a href="/hono/docs/1.7/dev-guide/building_hono/">Building from Source</a> for details.
Once the source code has been retrieved, the build process can be started using the following command:</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"><span style="color:#75715e"># in base directory of Hono working tree:</span>
mvn clean install -Pbuild-docker-image,metrics-prometheus,jaeger
</code></pre></div><p>After the build process has finished, the custom container images need to be pushed to the registry so that the
Kubernetes cluster can pull them from there during deployment.
Assuming that the images should be tagged with <code>1.0.3-CUSTOM</code> and the container registry name is <code>my.registry.io</code>,
the following command can be used to tag the locally built images and push them to the registry:</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"><span style="color:#75715e"># in base directory of Hono working tree:</span>
./push_hono_images.sh 1.0.3-CUSTOM my.registry.io
</code></pre></div><div class="alert alert-notice">
<h4 class="alert-heading"><i class="fas fa-info-circle"></i> Note</h4>
<div>You may need to log in to the (private) container registry before pushing the images.</div>
</div>
<p>The image names that Hono should use for starting up containers can be configured in a YAML file:</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-yaml" data-lang="yaml"><span style="color:#f92672">deviceRegistryExample</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-service-device-registry-file:1.0.3-CUSTOM&#34;</span>
<span style="color:#f92672">authServer</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-service-auth:1.0.3-CUSTOM&#34;</span>
<span style="color:#f92672">deviceConnectionService</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-service-device-connection:1.0.3-CUSTOM&#34;</span>
<span style="color:#f92672">adapters</span>:
<span style="color:#f92672">amqp</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-adapter-amqp-vertx:1.0.3-CUSTOM&#34;</span>
<span style="color:#f92672">mqtt</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-adapter-mqtt-vertx:1.0.3-CUSTOM&#34;</span>
<span style="color:#f92672">http</span>:
<span style="color:#f92672">imageName</span>: <span style="color:#e6db74">&#34;my.registry.io/eclipse/hono-adapter-http-vertx:1.0.3-CUSTOM&#34;</span>
</code></pre></div><p>Assuming that the YAML file is called <code>imageNames.yaml</code>, installation can then be done using:</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">helm install --dependency-update -n hono -f imageNames.yaml eclipse-hono eclipse-iot/hono
</code></pre></div><h3 id="deploying-to-minikube">Deploying to Minikube</h3>
<p>When using Minikube as the deployment target, things are a little easier. Minikube comes with an
embedded Docker daemon which can be used to build the container images instead of using a local
Docker daemon, thus eliminating the need to push the images to a registry altogether.
In order to use Minikube&rsquo;s Docker daemon, the following command needs to be run:</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">eval <span style="color:#66d9ef">$(</span>minikube docker-env<span style="color:#66d9ef">)</span>
</code></pre></div><p>This will set the Docker environment variables to point to Minikube&rsquo;s Docker daemon which can then be
used for building the container images and storing them locally in the Minikube VM.</p>
<p>In any case the build process can be started using the following command:</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"><span style="color:#75715e"># in base directory of Hono working tree:</span>
mvn clean install -Pbuild-docker-image,metrics-prometheus,jaeger
</code></pre></div><p>To obtain the used Hono version and write it in a variable, use:</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"><span style="color:#75715e"># in base directory of Hono working tree:</span>
HONO_VERSION<span style="color:#f92672">=</span><span style="color:#66d9ef">$(</span>mvn help:evaluate -Dexpression<span style="color:#f92672">=</span>project.version -q -DforceStdout<span style="color:#66d9ef">)</span>
</code></pre></div><p>The newly built images can then be deployed using Helm:</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">helm install --dependency-update -n hono --set honoImagesTag<span style="color:#f92672">=</span>$HONO_VERSION eclipse-hono eclipse-iot/hono
</code></pre></div><h3 id="using-jaeger-tracing">Using Jaeger Tracing</h3>
<p>Hono&rsquo;s components are instrumented using OpenTracing to allow tracking of the distributed processing of messages flowing through the system.
The Hono chart can be configured to report tracing information to the <a href="https://www.jaegertracing.io/">Jaeger tracing system</a>. The <em>Spans</em> reported
by the components can then be viewed in a web browser.</p>
<p>In order for Hono&rsquo;s components to use the Jaeger client for reporting tracing information, the container images need to be built
with the <code>jaeger</code> Maven profile. Please refer to <a href="/hono/docs/1.7/admin-guide/monitoring-tracing-config/#configuring-usage-of-jaeger-tracing-included-in-docker-images">Monitoring &amp; Tracing</a>
for details.
The newly built images also need to be made available to the target Kubernetes cluster as described in the two previous sections.</p>
<p>The chart can be configured to deploy and use an example Jaeger back end by means of setting the <em>jaegerBackendExample.enabled</em> property
to <code>true</code> when running Helm:</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">helm install --dependency-update -n hono --set jaegerBackendExample.enabled<span style="color:#f92672">=</span>true eclipse-hono eclipse-iot/hono
</code></pre></div><p>This will create a Jaeger back end instance suitable for testing purposes and will configure all deployed Hono components to use the
Jaeger back end.</p>
<p>The following command can then be used to return the IP address with which the Jaeger UI can be accessed in a
browser (ensure <code>minikube tunnel</code> is running when using minikube):</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">kubectl get service eclipse-hono-jaeger-query --output<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;jsonpath={.status.loadBalancer.ingress[0][&#39;hostname&#39;,&#39;ip&#39;]}&#34;</span> -n hono
</code></pre></div><p>If no example Jaeger back end should be deployed but instead an existing Jaeger installation should be used,
the chart&rsquo;s <em>jaegerAgentConf</em> property can be set to environment variables which are passed in to
the Jaeger Agent that is deployed with each of Hono&rsquo;s components.</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">helm install --dependency-update -n hono --set jaegerAgentConf.REPORTER_TYPE<span style="color:#f92672">=</span>tchannel --set jaegerAgentConf.REPORTER_TCHANNEL_HOST_PORT<span style="color:#f92672">=</span>my-jaeger-collector:14267 eclipse-hono eclipse-iot/hono
</code></pre></div><h3 id="deploying-to-azure-kubernetes-service-aks">Deploying to Azure Kubernetes Service (AKS)</h3>
<p>The following chapter describes how to use Azure Kubernetes Service (AKS) as a deployment target that has
been set up as described in the <a href="/hono/docs/1.7/deployment/create-kubernetes-cluster/">Setting up a Kubernetes Cluster guide</a>.</p>
<p>First we build the docker images and push them into the ACR. Note that if you define a custom image tag
you have to provide the helm with the image tags as described in the chapters above.</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-bash" data-lang="bash"><span style="color:#75715e"># Resource group where the ACR is deployed.</span>
acr_resourcegroupname<span style="color:#f92672">={</span>YOUR_ACR_RG<span style="color:#f92672">}</span>
<span style="color:#75715e"># Name of your ACR.</span>
acr_registry_name<span style="color:#f92672">={</span>YOUR_ACR_NAME<span style="color:#f92672">}</span>
<span style="color:#75715e"># Full name of the ACR.</span>
acr_login_server<span style="color:#f92672">=</span>$acr_registry_name.azurecr.io
<span style="color:#75715e"># Authenticate your docker daemon with the ACR.</span>
az acr login --name $ACR_NAME
<span style="color:#75715e"># Build images.</span>
cd hono
mvn install -Pbuild-docker-image -Ddocker.registry<span style="color:#f92672">=</span>$acr_login_server
<span style="color:#75715e"># Push images to ACR.</span>
./push_hono_images.sh 1.0.0-SNAPSHOT $acr_login_server
</code></pre></div><p>Now we can retrieve settings from the deployment for the following steps:</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-bash" data-lang="bash"><span style="color:#75715e"># Resource group of the AKS deployment</span>
resourcegroup_name<span style="color:#f92672">=</span>hono
aks_cluster_name<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.aksClusterName.value -o tsv<span style="color:#e6db74">`</span>
http_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.httpPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span>
amqp_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.amqpPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span>
mqtt_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.mqttPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span>
registry_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.registryPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span>
network_ip_address<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.networkPublicIPAddress.value -o tsv<span style="color:#e6db74">`</span>
</code></pre></div><p>Note: add the following lines in case you opted for the Azure Service Bus variant:</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-bash" data-lang="bash">service_bus_namespace<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusNamespaceName.value -o tsv<span style="color:#e6db74">`</span>
service_bus_key_name<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusKeyName.value -o tsv<span style="color:#e6db74">`</span>
service_bus_key<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.serviceBusKey.value -o tsv<span style="color:#e6db74">`</span>
</code></pre></div><p>Next we prepare the k8s environment:</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-bash" data-lang="bash">k8s_namespace<span style="color:#f92672">=</span>honons
kubectl create namespace $k8s_namespace
</code></pre></div><p>Finally install Hono. Leveraging the <em>managed-premium-retain</em> storage in combination with <em>deviceRegistry.resetFiles=false</em> parameter is optional but ensures that Device registry storage will retain future update deployments.</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-bash" data-lang="bash"><span style="color:#75715e"># in Hono working tree directory: hono/deploy</span>
helm install target/deploy/helm/eclipse-hono/ <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --dep-up <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --name hono <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --namespace $k8s_namespace <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.mqtt.svc.annotations.<span style="color:#e6db74">&#34;service\.beta\.kubernetes\.io/azure-load-balancer-resource-group&#34;</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.http.svc.annotations.<span style="color:#e6db74">&#34;service\.beta\.kubernetes\.io/azure-load-balancer-resource-group&#34;</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.amqp.svc.annotations.<span style="color:#e6db74">&#34;service\.beta\.kubernetes\.io/azure-load-balancer-resource-group&#34;</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set deviceRegistryExample.svc.annotations.<span style="color:#e6db74">&#34;service\.beta\.kubernetes\.io/azure-load-balancer-resource-group&#34;</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.dispatchRouter.svc.annotations.<span style="color:#e6db74">&#34;service\.beta\.kubernetes\.io/azure-load-balancer-resource-group&#34;</span><span style="color:#f92672">=</span>$resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set deviceRegistryExample.storageClass<span style="color:#f92672">=</span>managed-premium-retain <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set deviceRegistryExample.resetFiles<span style="color:#f92672">=</span>false <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.mqtt.svc.loadBalancerIP<span style="color:#f92672">=</span>$mqtt_ip_address <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.http.svc.loadBalancerIP<span style="color:#f92672">=</span>$http_ip_address <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set adapters.amqp.svc.loadBalancerIP<span style="color:#f92672">=</span>$amqp_ip_address <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set deviceRegistryExample.svc.loadBalancerIP<span style="color:#f92672">=</span>$registry_ip_address <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.dispatchRouter.svc.loadBalancerIP<span style="color:#f92672">=</span>$network_ip_address
</code></pre></div><p>Note: add the following lines in case you opted for the Azure Service Bus variant:</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-bash" data-lang="bash"> <span style="color:#75715e"># Router update required to work together with Azure Service Bus</span>
--set amqpMessagingNetworkExample.dispatchRouter.imageName<span style="color:#f92672">=</span>quay.io/enmasse/qdrouterd-base:1.8.0 <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.type<span style="color:#f92672">=</span>servicebus <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.saslUsername<span style="color:#f92672">=</span>$service_bus_key_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.saslPassword<span style="color:#f92672">=</span>$service_bus_key <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --set amqpMessagingNetworkExample.broker.servicebus.host<span style="color:#f92672">=</span>$service_bus_namespace.servicebus.windows.net <span style="color:#ae81ff">\
</span></code></pre></div><p>Have fun with Hono on Microsoft Azure!</p>
<p>Next steps:</p>
<p>You can follow the steps as described in the <a href="https://www.eclipse.org/hono/getting-started/">Getting Started</a> guide with the following differences:</p>
<p>Compared to a plain k8s deployment Azure provides us DNS names with static IPs for the Hono endpoints. To retrieve them:</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-bash" data-lang="bash">HTTP_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.httpPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span>
AMQP_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.amqpPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span>
MQTT_ADAPTER_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.mqttPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span>
REGISTRY_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.registryPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span>
AMQP_NETWORK_IP<span style="color:#f92672">=</span><span style="color:#e6db74">`</span>az group deployment show --name HonoBasicInfrastructure --resource-group $resourcegroup_name --query properties.outputs.networkPublicIPFQDN.value -o tsv<span style="color:#e6db74">`</span>
</code></pre></div><p>As Azure Service Bus does not support auto creation of queues you have to create a queue per tenant (ID), e.g. after you have created your tenant run:</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-bash" data-lang="bash">az servicebus queue create --resource-group $resourcegroup_name <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --namespace-name $service_bus_namespace <span style="color:#ae81ff">\
</span><span style="color:#ae81ff"></span> --name $MY_TENANT
</code></pre></div>
<footer class="footline">
</footer>
</div>
</div>
<div id="navigation">
</div>
</section>
<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?1626138720"></script>
<script src="/hono/docs/js/perfect-scrollbar.min.js?1626138720"></script>
<script src="/hono/docs/js/perfect-scrollbar.jquery.min.js?1626138720"></script>
<script src="/hono/docs/js/jquery.sticky.js?1626138720"></script>
<script src="/hono/docs/js/featherlight.min.js?1626138720"></script>
<script src="/hono/docs/js/highlight.pack.js?1626138720"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="/hono/docs/js/modernizr.custom-3.6.0.js?1626138720"></script>
<script src="/hono/docs/js/learn.js?1626138720"></script>
<script src="/hono/docs/js/hugo-learn.js?1626138720"></script>
<link href="/hono/docs/mermaid/mermaid.css?1626138720" rel="stylesheet" />
<script src="/hono/docs/mermaid/mermaid.js?1626138720"></script>
<script>
mermaid.initialize({ startOnLoad: true });
</script>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');
</script>
<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
</body>
</html>