<!DOCTYPE html>
<html lang="en" 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.54.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/stable/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="48x48" href="/hono/docs/stable/favicon/favicon-48x48.png">
<link rel="icon" type="image/png" sizes="32x32" href="/hono/docs/stable/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/hono/docs/stable/favicon/favicon-16x16.png">
<link rel="manifest" href="/hono/docs/stable/favicon/site.webmanifest">
<link rel="mask-icon" href="/hono/docs/stable/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/hono/docs/stable/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/hono/docs/stable/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">

    <title>OpenShift / OKD :: Eclipse Hono&trade;</title>

    
    <link href="/hono/docs/stable/css/nucleus.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/fontawesome-all.min.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/hybrid.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/featherlight.min.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/perfect-scrollbar.min.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/auto-complete.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/theme.css?1563845006" rel="stylesheet">
    <link href="/hono/docs/stable/css/hugo-theme.css?1563845006" rel="stylesheet">
    
      <link href="/hono/docs/stable/css/theme-hono.css?1563845006" rel="stylesheet">
    

    <script src="/hono/docs/stable/js/jquery-2.x.min.js?1563845006"></script>

    <style type="text/css">
      :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">
<link rel="stylesheet" href='/hono/docs/stable/css/hono.css'>


<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@EclipseHono">
<meta name="twitter:title" content="OpenShift / OKD :: Eclipse Hono&amp;trade;">
<meta name="twitter:image" content="https://www.eclipse.org/hono/docs/stable/images/twitter_image.png">
<meta name="twitter:description" content="A set of micro-services for connecting millions of devices.">


<meta property="og:title" content="OpenShift / OKD :: Eclipse Hono&amp;trade;" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.eclipse.org/hono/docs/stable/deployment/openshift//" />
<meta property="og:image" content="https://www.eclipse.org/hono/docs/stable/images/twitter_image.png" />

  </head>
  <body class="" data-url="/hono/docs/stable/deployment/openshift/">
    <nav id="sidebar" class="">



  <div id="header-wrapper">
    <div id="header">
      <a href="https://www.eclipse.org/hono/" target="_blank">
    <img src="/hono/docs/stable/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/stable/js/lunr.min.js?1563845006"></script>
<script type="text/javascript" src="/hono/docs/stable/js/auto-complete.js?1563845006"></script>
<script type="text/javascript">
    
        var baseurl = "https:\/\/www.eclipse.org\/hono\/docs\/stable\/";
    
</script>
<script type="text/javascript" src="/hono/docs/stable/js/search.js?1563845006"></script>

    
  </div>

    <div class="highlightable">
    <ul class="topics">

        
          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/concepts/" title="Concepts" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/concepts/">
          <i class="far fa-lightbulb"></i> Concepts
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/device-identity/" title="Device Identity" class="dd-item ">
        <a href="/hono/docs/stable/concepts/device-identity/">
        Device Identity
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/tenancy/" title="Multi-Tenancy" class="dd-item ">
        <a href="/hono/docs/stable/concepts/tenancy/">
        Multi-Tenancy
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/device-notifications/" title="Device Notifications" class="dd-item ">
        <a href="/hono/docs/stable/concepts/device-notifications/">
        Device Notifications
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/command-and-control/" title="Command &amp; Control" class="dd-item ">
        <a href="/hono/docs/stable/concepts/command-and-control/">
        Command &amp; Control
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/resource-limits/" title="Resource limits" class="dd-item ">
        <a href="/hono/docs/stable/concepts/resource-limits/">
        Resource limits
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/concepts/connection-events/" title="Connection Events" class="dd-item ">
        <a href="/hono/docs/stable/concepts/connection-events/">
        Connection Events
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/user-guide/" title="User Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/user-guide/">
          <i class="fas fa-book-reader"></i> User Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/device-registry/" title="Device Registry" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/device-registry/">
        Device Registry
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/http-adapter/" title="HTTP Adapter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/http-adapter/">
        HTTP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/mqtt-adapter/" title="MQTT Adapter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/mqtt-adapter/">
        MQTT Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/amqp-adapter/" title="AMQP Adapter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/amqp-adapter/">
        AMQP Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/kura-adapter/" title="Kura Adapter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/kura-adapter/">
        Kura Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/sigfox-adapter/" title="Sigfox Adapter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/sigfox-adapter/">
        Sigfox Adapter
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/user-guide/jmeter_load_tests/" title="Load Tests with JMeter" class="dd-item ">
        <a href="/hono/docs/stable/user-guide/jmeter_load_tests/">
        Load Tests with JMeter
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/admin-guide/" title="Admin Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/admin-guide/">
          <i class="fas fa-sliders-h"></i> Admin Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/common-config/" title="Common Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/common-config/">
        Common Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/auth-server-config/" title="Auth Server Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/auth-server-config/">
        Auth Server Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/device-registry-config/" title="Device Registry Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/device-registry-config/">
        Device Registry Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/http-adapter-config/" title="HTTP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/http-adapter-config/">
        HTTP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/amqp-adapter-config/" title="AMQP Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/amqp-adapter-config/">
        AMQP Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/mqtt-adapter-config/" title="MQTT Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/mqtt-adapter-config/">
        MQTT Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/kura-adapter-config/" title="Kura Adapter Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/kura-adapter-config/">
        Kura Adapter Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/hono-client-configuration/" title="Hono Client Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/hono-client-configuration/">
        Hono Client Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/amqp-network-config/" title="AMQP 1.0 Messaging Network Configuration" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/amqp-network-config/">
        AMQP 1.0 Messaging Network Configuration
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/secure_communication/" title="Secure Communication" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/secure_communication/">
        Secure Communication
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/admin-guide/monitoring-tracing-config/" title="Monitoring &amp; Tracing" class="dd-item ">
        <a href="/hono/docs/stable/admin-guide/monitoring-tracing-config/">
        Monitoring &amp; Tracing
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/dev-guide/" title="Developer Guide" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/dev-guide/">
          <i class="fas fa-tools"></i> Developer Guide
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/dev-guide/building_hono/" title="Building from Source" class="dd-item ">
        <a href="/hono/docs/stable/dev-guide/building_hono/">
        Building from Source
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/dev-guide/java_client_consumer/" title="Consuming Messages from Java" class="dd-item ">
        <a href="/hono/docs/stable/dev-guide/java_client_consumer/">
        Consuming Messages from Java
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/dev-guide/custom_http_adapter/" title="Implement a Custom Hono HTTP Protocol Adapter" class="dd-item ">
        <a href="/hono/docs/stable/dev-guide/custom_http_adapter/">
        Implement a Custom Hono HTTP Protocol Adapter
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/api/" title="API" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/api/">
          &nbsp;<i class='fas fa-plug'></i>&nbsp;API
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/telemetry-api/" title="Telemetry API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/telemetry-api/">
        Telemetry API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/event-api/" title="Event API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/event-api/">
        Event API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/command-and-control-api/" title="Command &amp; Control API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/command-and-control-api/">
        Command &amp; Control API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/tenant-api/" title="Tenant API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/tenant-api/">
        Tenant API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/device-connection-api/" title="Device Connection API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/device-connection-api/">
        Device Connection API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/device-registration-api/" title="Device Registration API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/device-registration-api/">
        Device Registration API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/credentials-api/" title="Credentials API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/credentials-api/">
        Credentials API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/authentication-api/" title="Authentication API Specification" class="dd-item ">
        <a href="/hono/docs/stable/api/authentication-api/">
        Authentication API
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/api/metrics/" title="Metrics" class="dd-item ">
        <a href="/hono/docs/stable/api/metrics/">
        Metrics
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/deployment/" title="Deployment" class="dd-item 
        parent
        
        
        ">
      <a href="/hono/docs/stable/deployment/">
          <i class="fas fa-shipping-fast"></i> Deployment
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/deployment/helm-based-deployment/" title="Helm based Deployment" class="dd-item ">
        <a href="/hono/docs/stable/deployment/helm-based-deployment/">
        Helm based Deployment
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/deployment/openshift/" title="OpenShift / OKD" class="dd-item active">
        <a href="/hono/docs/stable/deployment/openshift/">
        OpenShift / OKD
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/deployment/create-kubernetes-cluster/" title="Setting up a Kubernetes Cluster" class="dd-item ">
        <a href="/hono/docs/stable/deployment/create-kubernetes-cluster/">
        Setting up a Kubernetes Cluster
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/deployment/resource-limitation/" title="Limiting Resource Usage" class="dd-item ">
        <a href="/hono/docs/stable/deployment/resource-limitation/">
        Limiting Resource Usage
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
          


 
  
    
    <li data-nav-id="/hono/docs/stable/architecture/" title="Architecture" class="dd-item 
        
        
        
        ">
      <a href="/hono/docs/stable/architecture/">
          <i class="fas fa-landmark"></i> Architecture
          
      </a>
      
      
        <ul>
          
          
          
          
        
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/architecture/component-view/component-view/" title="Component View" class="dd-item ">
        <a href="/hono/docs/stable/architecture/component-view/component-view/">
        Component View
        
        </a>
    </li>
     
  
 

            
          
            
            


 
  
    
      <li data-nav-id="/hono/docs/stable/architecture/auth/auth/" title="Authentication/Authorization" class="dd-item ">
        <a href="/hono/docs/stable/architecture/auth/auth/">
        Authentication/Authorization
        
        </a>
    </li>
     
  
 

            
          
        
        </ul>
              
    </li>
  
 

          
         
    </ul>

    
    

    
    <section id="footer">
      

<p>&copy; 2019 <a href="https://www.eclipse.org/hono/" target="_blank">The Eclipse Hono Project</a></p>

<p>
    Documentation built with
    <a href="https://www.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/stable/images/eclipse_foundation_logo.svg"/>
    </a>
</div>

    </section>
  </div>
</nav>





        <section id="body">
        <div id="overlay"></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/openshift.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/stable/'>Documentation</a> > <a href='/hono/docs/stable/deployment/'>Deployment</a> > OpenShift / OKD
          
         
          
         
          
        
                 
                  </span>
                </div>
                
                    <div class="progress">
    <div class="wrapper">
<nav id="TableOfContents">
<ul>
<li>
<ul>
<li><a href="#prerequisites">Prerequisites</a>
<ul>
<li><a href="#assumptions">Assumptions</a></li>
<li><a href="#linux-like-environment">Linux like environment</a></li>
<li><a href="#openshift-origin-client-tools">OpenShift Origin client tools</a></li>
<li><a href="#minishift">Minishift</a></li>
<li><a href="#operator-lifecycle-manager">Operator Lifecycle Manager</a></li>
<li><a href="#persistent-volumes">Persistent volumes</a>
<ul>
<li><a href="#minishift-1">Minishift</a></li>
<li><a href="#local">Local</a></li>
<li><a href="#nfs">NFS</a></li>
</ul></li>
<li><a href="#ability-to-create-new-projects">Ability to create new projects</a></li>
<li><a href="#certificates">Certificates</a></li>
</ul></li>
<li><a href="#clone-the-hono-repository">Clone the Hono repository</a></li>
<li><a href="#setting-up-enmasse">Setting up EnMasse</a></li>
<li><a href="#setting-up-hono">Setting up Hono</a></li>
<li><a href="#enabling-metrics">Enabling metrics</a>
<ul>
<li><a href="#adding-prometheus-support">Adding Prometheus support</a></li>
<li><a href="#setting-up-grafana">Setting up Grafana</a></li>
</ul></li>
<li><a href="#configuring-the-installation">Configuring the installation</a>
<ul>
<li><a href="#configure-maximum-number-of-devices-per-tenant">Configure maximum number of devices per tenant</a></li>
<li><a href="#adding-jaeger-support">Adding Jaeger support</a>
<ul>
<li><a href="#enable-the-build-profile">Enable the build profile</a></li>
<li><a href="#add-the-jaeger-agent-sidecar">Add the Jaeger agent sidecar</a></li>
<li><a href="#deploy-jaeger">Deploy Jaeger</a></li>
</ul></li>
</ul></li>
<li><a href="#using-the-installation">Using the installation</a>
<ul>
<li><a href="#extract-certificates">Extract certificates</a></li>
<li><a href="#running-consumer">Running consumer</a></li>
<li><a href="#register-device">Register device</a></li>
<li><a href="#uploading-telemetry-with-http">Uploading Telemetry with HTTP</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
    </div>
</div>

                
              </div>
            </div>
            

        
        <div id="body-inner">
          
            <h1>OpenShift / OKD</h1>
          

        


<p>This guide describes how Eclipse Hono™ can be deployed on OpenShift with
EnMasse, using the source-to-image (S2I) way. Using this approach, it is possible
to customize and refresh the base images where Hono runs in. It also uses
a more complex, multi-project setup and separates EnMasse and Grafana from
the core Hono project.</p>

<div class="alert alert-warning">
    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Use for demos only</h4>
    <div><p>While this deployment model is closer to a production-ready deployment
it still is missing some important aspects, so please do use this only as a
base for your setup or as a demo setup. The following topics are currently
not covered by this example deployment:</p>

<ul>
<li>Integration between EnMasse and Hono authentication</li>
<li>Use your own versions of the device registry and authorization service</li>
</ul>

<p>These are all subjects to current and future developments in this area. This
document will be updated accordingly with the progress.</p>
</div>
</div>


<h2 id="prerequisites">Prerequisites</h2>

<p>In order to work through this example deployment you will need the OpenShift
client tools installed. Please align the version of the client tools with
the version of your OpenShift cluster. This guide was tested with
OpenShift 3.11.0. It might work with older or newer versions as well, but that
is untested.</p>

<h3 id="assumptions">Assumptions</h3>

<p>This tutorial makes the following assumptions about your environment, if those
assumptions are not true in your specific environment you will need to adapt
the following instructions:</p>

<ul>
<li>The admin URL of your OpenShift cluster is: <code>https://my-cluster:8443</code></li>
<li>The name of your OpenShift user is <code>developer</code></li>
<li>All scripts and paths are relative to the folder
<code>deploy/src/main/deploy/openshift</code></li>
<li>Some parts of this tutorial may need <em>cluster admin</em> privileges. When cluster
admin privileges are required, the tutorial will indicate this by the command
<code>oc login -u admin</code>. It will indicate the end of a section requiring cluster
admin privileges by the command <code>oc login -u developer</code>.
<br /></li>
</ul>

<p><strong>Note:</strong> Those command may be different on your installation. They only act
  as an example.</p>

<h3 id="linux-like-environment">Linux like environment</h3>

<p>The deployment guide assumes that you have a Linux like environment with things
like <code>bash</code>, <code>curl</code>, <code>git</code>, … Mac OS X 10.13+ works as well, Windows with
some kind of Unix tooling should also be possible.</p>

<h3 id="openshift-origin-client-tools">OpenShift Origin client tools</h3>

<p>The client tools can be downloaded from the
<a href="https://github.com/openshift/origin/releases">OpenShift Origin</a> project
repository. Simply download the archive, unpack it and drop it into a directory
where it can be found by the local PATH lookup.</p>

<h3 id="minishift">Minishift</h3>

<p>This tutorial is targeted towards running Hono on a production-ready OpenShift
cluster. However it still is possible and useful to run the same setup on
a local test cluster with &ldquo;minishift&rdquo;.</p>

<p>Minishift is a tool that helps you run OpenShift locally by running a
single-node OpenShift cluster inside a VM. Follow
<a href="https://docs.openshift.org/latest/minishift/getting-started/index.html">this guide</a>
for installing and having Minishift up and running.</p>

<p>The default resource limits for Minishift however are to small, so please
ensure that you are running Minishift with the following settings:</p>

<pre><code>minishift start --cpus 4 --memory 16GB --disk-size 40GB
</code></pre>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Resource limits</h4>
    <div>Once you created your Minishift cluster instance with <code>minishift start</code> the
resource arguments (like <code>--cpus</code>) are ignored in future calls to
<code>minishift start</code> as the virtual machine has already been created. You will
need to destroy the instance using <code>minishift delete</code> before it will accept
the new resource limits.</div>
</div>


<p>When using minishift you can find your cluster URL by executing the following
command:</p>

<pre><code>minishift console --url
</code></pre>

<p>Some of the operations may require <em>cluster admin</em> privileges. For minishift
an admin user can be created by executing the following commands, having a
running minishift instance:</p>

<pre><code>minishift addons apply admin-user
</code></pre>

<p>This will create a user named <code>admin</code>, with a password of <code>admin</code>, that has
cluster admin privileges.</p>

<h3 id="operator-lifecycle-manager">Operator Lifecycle Manager</h3>

<p>A simple way to install additional operators in your cluster is via the
<a href="https://github.com/operator-framework/operator-lifecycle-manager">Operator Lifecycle Manager</a> (aka OLM).
It can be enabled in OpenShift 3.11+ by setting <code>openshift_enable_olm=true</code>
in the Ansible inventory file.</p>

<p>For Minishift, it can be enabled by execute the following commands as
cluster admin:</p>

<pre><code>git clone https://github.com/operator-framework/operator-lifecycle-manager
cd operator-lifecycle-manager

oc login -u admin
oc new-project operator-lifecycle-manager
oc create -f deploy/okd/manifests/latest/
oc login -u developer
</code></pre>

<p>See also: <a href="https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/install/install.md">https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/install/install.md</a></p>

<p>This guide will use OLM in order to install the optional
<a href="https://github.com/coreos/prometheus-operator">Prometheus Operator</a>,
which enables the aggregation of metrics from different Hono components.</p>

<h3 id="persistent-volumes">Persistent volumes</h3>

<p>You will need two persistent volumes for this deployment. The default
required volumes are:</p>

<table>
<thead>
<tr>
<th>Name</th>
<th align="right">Size</th>
<th>Purpose</th>
</tr>
</thead>

<tbody>
<tr>
<td>hono-pv</td>
<td align="right">128 Mi</td>
<td>Storing device registry information</td>
</tr>

<tr>
<td>grafana-pv</td>
<td align="right">1 Gi</td>
<td>Grafana configuration database</td>
</tr>
</tbody>
</table>

<p>In the folder <code>admin/storage</code> you will find a set of sub folders containing
YAML files for setting up the persistent volumes (PVs). As there are multiple
storage providers available you need to choose <strong>only one</strong> and must modify it
to match your OpenShift setup (see the following subsections).</p>

<p>It may also be possible that your cluster supports automatic provisioning of
storage, in this case you don&rsquo;t need to create PVs explicitly.</p>

<p>The PVs can be created by executing the following command with a user that
has cluster wide privileges:</p>

<pre><code>oc create -f admin/storage/&lt;type&gt;/grafana-pv.yml
oc create -f admin/storage/&lt;type&gt;/hono-pv.yml
</code></pre>

<h4 id="minishift-1">Minishift</h4>

<p>When you are running minishift, then you have automatic provisioning for PVs
available. There is no need to create any PVs manually.</p>

<h4 id="local">Local</h4>

<p>In the <code>admin/storage/local</code> folder you will find YAML files for setting up
local storage volumes. Those volumes will be kept available when pods are
restarted, but are only available on he local disk of a node. So pods can
only run on this single node and not be migrated throughout a cluster.</p>

<p>If you have a single node cluster anyway, it might still be an easy option.</p>

<p>You will need to change the field <code>.spec.hostPath.path</code> to point to an
existing directory which grants all access to &ldquo;other&rdquo; (<code>chmod a+rwx .</code>).</p>

<p>The storage capacity will only be used for matching PVs with PVCs and is not
being enforced with this storage type.</p>

<h4 id="nfs">NFS</h4>

<p>The folder <code>admin/storage/nfs</code> contains a set of YAML files for setting up
NFS based PVs. For this to work you will need a running NFS server and set up
proper exports. It is possible to re-use the NFS server of your OpenShift
installation if you already have one.</p>

<p>You will need to change the following fields:</p>

<ul>
<li><code>.spec.nfs.server</code> – Hostname of the NFS server</li>
<li><code>.spec.nfs.path</code> – The name of the exported path</li>
</ul>

<div class="alert alert-warning">
    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Don&#39;t use in production</h4>
    <div>Applications running of top of NFS may have issues with things like file locking
behavior, …. So it isn&rsquo;t recommended to use NFS without proper testing and
ensuring that it works the way you expect it. If you accept the risk of
corrupted data, it might still be a simple setup for testing a multi-node setup.</div>
</div>


<p>Also see: <a href="https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_nfs.html">https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_nfs.html</a></p>

<h3 id="ability-to-create-new-projects">Ability to create new projects</h3>

<p>The following guide requires three projects in the OpenShift cluster. It still
is possible to modify the deployment to deploy to a single project, however this
guide focuses on a setup having multiple projects.</p>

<p>If you don&rsquo;t have permissions to create new projects yourself, then you will
need to request three projects. The guide expects the projects names to be:</p>

<ul>
<li><code>enmasse</code> – Hosting the EnMasse components.</li>
<li><code>hono</code> – For running Eclipse Hono.</li>
<li><code>grafana</code> – For running an instance of Grafana. Primarily
           for showing Hono dashboards.</li>
</ul>

<p>Those projects must be allowed to perform internal communication.</p>

<p>If projects will be created for you, then you can ignore the
calls to <code>oc new-project</code> in the following sections.</p>

<h3 id="certificates">Certificates</h3>

<p>Certificates are a difficult topic, as every components brings in its own
concept about how certificates are handled. This deployment guide tries to
align everything with OpenShifts capabilities of managing certificates. That
means that internal communication tries to use cluster generated certificates,
signed by the cluster CA. And externally it tries to re-use the OpenShift
router certificates, which are provided during the installation of OpenShift.
One exception to that are the AMQP and MQTT protocols. As those currently
cannot be re-encrypted.</p>

<p>If you deploy OpenShift without proper certificates, then you will automatically
have self-signed certificates. In this case it is required to disable e.g.
hostname validation later on. This deployment guide assumes that you have
proper certificates set up, and will try to assist if that is not the case.</p>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Let&#39;s encrypt</h4>
    <div>As <a href="https://letsencrypt.org/">Let&rsquo;s encrypt</a> now supports wildcard certificates,
having proper certificates may only be a few commands away for you.</div>
</div>


<p>In general, <code>curl</code> commands require the parameter <code>--insecure</code> in order to
work with self-signed certificates.</p>

<div class="alert alert-warning">
    <h4 class="alert-heading"><i class="fas fa-exclamation-triangle"></i> Mac OS X 10.13&#43;</h4>
    <div><p>The <code>curl</code> binary on Mac OS X before 10.13 suffers from an issue with TLS SNI.
Also see: <a href="https://github.com/curl/curl/issues/1533">https://github.com/curl/curl/issues/1533</a></p>

<p>As the use of SNI is required for Kubernetes/OpenShift, when it comes to routing
requests to services, it is not possible to use the provided version of
<code>curl</code> on Mac OS X before 10.13.</p>

<p>You can install a working <code>curl</code> version using in those Mac OS X released with
the following commands:</p>

<pre><code>brew install curl --with-openssl
</code></pre>

<p>Or upgrade your existing installation using:</p>

<pre><code>brew reinstall curl --with-openssl
</code></pre>

<p>Or use proper certificates.</p>
</div>
</div>


<h2 id="clone-the-hono-repository">Clone the Hono repository</h2>

<p>In order to have access to some of the requires scripts and resource of this
deployment guide, you will need to clone the Hono repository to your local
machine. You can do this with the following command:</p>

<pre><code>git clone https://github.com/eclipse/hono.git
</code></pre>

<p>Or if you want to check out a specific branch (e.g. <code>0.9.x</code>):</p>

<pre><code>git clone -b 0.9.x https://github.com/eclipse/hono.git
</code></pre>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Different branches</h4>
    <div><p>This deployment description is based on the master branch of Hono. However this
branch is also the current development and may be unstable at times.</p>

<p>If you experience any problems, it is
recommended to switch to a release branch (e.g. <code>0.9.x</code>) instead of using
the default master branch. However this documentation is only published from
the master branch, so there may be inconsistencies between the repository
content and the documentation. In this case you can read through <code>index.md</code>
file, checked out from the branch you cloned. The file is located in the
directory <code>hono-site/content/deployment/openshift</code>.</p>
</div>
</div>


<h2 id="setting-up-enmasse">Setting up EnMasse</h2>

<p>This section describes how to install EnMasse, the messaging layer which Hono is
based on.</p>

<p>Start by downloading and unpacking EnMasse:</p>

<pre><code>curl -LO https://github.com/EnMasseProject/enmasse/releases/download/0.25.0/enmasse-0.25.0.tgz
tar xzf enmasse-0.25.0.tgz
</code></pre>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Other versions</h4>
    <div>Other versions of EnMasse might work as well, but are untested by this deployment
guide. Unless you explicitly want to try out a different version, it is
recommended to use to the version documented in this tutorial.</div>
</div>


<p>First switch to a user with <em>cluster admin</em> privileges, e.g.:</p>

<pre><code>oc login -u admin
</code></pre>

<p>Then create a new project:</p>

<pre><code>oc new-project enmasse-infra --display-name='EnMasse'
</code></pre>

<p>And perform the deployment:</p>

<pre><code>oc apply -f enmasse-0.25.0/install/bundles/enmasse-with-standard-authservice
</code></pre>

<p>Wait for the admin console to completely start up. You can check this with
the following command:</p>

<pre><code>oc get deploy/api-server deploy/keycloak
</code></pre>

<p>Verify that the &ldquo;AVAILABLE&rdquo; column shows &ldquo;1&rdquo;:</p>

<pre><code>NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
api-server   1         1         1            1           1m
keycloak     1         1         1            1           1m
</code></pre>

<p>Finally switch back to your normal application user:</p>

<pre><code>oc login -u developer
</code></pre>

<h2 id="setting-up-hono">Setting up Hono</h2>

<p>Start by creating a new project using:</p>

<pre><code>oc new-project hono --display-name='Eclipse Hono™'
</code></pre>

<p>Then create the EnMasse address space to use:</p>

<pre><code>oc create -f hono-address-space.yml
</code></pre>

<p>Before proceeding to the next step, ensure that the address space has been
created and is ready. Executing the following command should contain
<code>Is Ready: true</code> in the status section:</p>

<pre><code>oc describe addressspace/default
</code></pre>

<p>You can also quickly check for <code>isReady</code> with a JSON path query:</p>

<pre><code>oc get addressspace/default -o jsonpath='{.status.isReady}'
</code></pre>

<p>Then process and execute the main Hono template in order to deploy the
Hono services:</p>

<pre><code>oc process -f hono-template.yml | oc create -f -
</code></pre>

<p>OpenShift templates allow to use <em>parameters</em> which can customize provided
templates. If you want to specify template parameters from the command line
use the following syntax:</p>

<pre><code>oc process -f hono-template.yml \
  -p GIT_REPOSITORY=https://github.com/your/hono.git \
  -p GIT_BRANCH=0.9.x| oc create -f -
</code></pre>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Align branches</h4>
    <div><p>By default the Hono template uses the <code>master</code> branch for deploying Hono. As
this branch might be unstable this may not be what you are looking for, but it
also is the default branch of the Hono Git repository where you checked out
the deployment template.</p>

<p>It is recommended that when you execute the guide from an alternate branch
(e.g. <code>0.9.x</code>) that you also pass the same branch as <code>GIT_BRANCH</code> to the
template.</p>
</div>
</div>


<p>And register the template for creating new Hono tenants. This only registers
the template, but does not create a new tenant yet:</p>

<pre><code>oc create -f hono-tenant-template.yml
</code></pre>

<p>Next you will need to create a tenant, execute the following command to create
the <em>default tenant</em>:</p>

<pre><code>oc process hono-tenant HONO_TENANT_NAME=DEFAULT_TENANT RESOURCE_NAME=defaulttenant CONSUMER_USER_NAME=consumer CONSUMER_USER_PASSWORD=&quot;$(echo -n verysecret | base64)&quot;| oc create -f -
</code></pre>

<div class="alert alert-notice">
    <h4 class="alert-heading"><i class="fas fa-info-circle"></i> Creating tenants</h4>
    <div>Creating a new tenant using the template currently only creates the necessary
resources in EnMasse for the tenant. It does not create the tenant in the Hono
device registry.</div>
</div>


<h2 id="enabling-metrics">Enabling metrics</h2>

<p>The default OpenShift deployment of Hono does support the use of Prometheus as
a metrics backend. However it is still required to deploy an instance of
Prometheus and Grafana to your installation in order to actually gather and
visualize the metrics.</p>

<h3 id="adding-prometheus-support">Adding Prometheus support</h3>

<p>This section will explain how to set up Prometheus via the OLM and the
Prometheus Operator. This is only an example, it is possible to install
Prometheus in different ways. Or skip the installation of Prometheus, if you
want to use a different metrics backend.</p>

<p>Run the following commands to register the prometheus operator and create a
new instance:</p>

<pre><code>oc project hono
oc create -f ../resource-descriptors/prometheus/operator.yml
oc create -f ../resource-descriptors/prometheus/instance.yml
</code></pre>

<h3 id="setting-up-grafana">Setting up Grafana</h3>

<p>Start by creating a new project using:</p>

<pre><code>oc new-project grafana --display-name='Grafana Dashboard'
</code></pre>

<p>Create the config resources:</p>

<pre><code>oc create configmap grafana-provisioning-dashboards --from-file=../../config/grafana/provisioning/dashboards
oc create configmap grafana-dashboard-defs --from-file=../../config/grafana/dashboard-definitions
oc label configmap grafana-provisioning-dashboards app=hono-metrics
oc label configmap grafana-dashboard-defs app=hono-metrics
</code></pre>

<p>Then deploy the Grafana instance using:</p>

<pre><code>oc process -f grafana-template.yml \
  -p ADMIN_PASSWORD=admin | oc create -f -
</code></pre>

<p>OpenShift templates allow to use <em>parameters</em> which can customize provided
templates. If you want to specify template parameters from the command line
use the following syntax:</p>

<pre><code>oc process -f grafana-template.yml \
  -p ADMIN_PASSWORD=admin \
  -p HONO_NAMESPACE=hono \
  -p GIT_REPOSITORY=https://github.com/your/hono.git \
  -p GIT_BRANCH=0.9.x| oc create -f -
</code></pre>

<h2 id="configuring-the-installation">Configuring the installation</h2>

<p>The default installation of Hono can be tweaked in a few ways. The following
sub-sections describe a few aspects that can be modified.</p>

<h3 id="configure-maximum-number-of-devices-per-tenant">Configure maximum number of devices per tenant</h3>

<p>The default settings for the example Hono device registry limit the number of
devices to 100 per tenant. If this is not enough for your setup you can change
the setting by executing the following command, which will increase the number
to 10.000 devices per tenant:</p>

<pre><code>oc set env -n hono dc/hono-service-device-registry HONO_REGISTRY_SVC_MAX_DEVICES_PER_TENANT=10000
</code></pre>

<h3 id="adding-jaeger-support">Adding Jaeger support</h3>

<p>By default Hono has the capability to work with OpenTracing, and it also
provides a build profile for enabling the &ldquo;Jaeger&rdquo; implementation of
OpenTracing.</p>

<p>There are a few manual steps required to modify the default Hono deployment
for OpenShift in order to enable this profile.</p>

<h4 id="enable-the-build-profile">Enable the build profile</h4>

<p>The Hono profile needs to be enabled, to include the Jaeger components in the
S2I builds.</p>

<p>Modify the Hono templates to add the <code>jaeger</code> profile in the builds. e.g.:</p>

<pre><code class="language-diff">           name: fabric8-s2i-java-custom:2.3
         env:
         - name: MAVEN_ARGS_APPEND
-          value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative
+          value: -B -pl org.eclipse.hono:hono-adapter-mqtt-vertx --also-make -Pnetty-tcnative -Pjaeger
         - name: ARTIFACT_DIR
           value: adapters/mqtt-vertx/target
         - name: ARTIFACT_COPY_ARGS
</code></pre>

<p>Be sure to trigger new builds if you already built the container images before.</p>

<h4 id="add-the-jaeger-agent-sidecar">Add the Jaeger agent sidecar</h4>

<p>In order to add capture output from the Jaeger client and forward it to the
main Jaeger application, a Jaeger agent is required. This will be deployed
alongside each Hono service, as a dedicated container, but in the same pod
(aka sidecar).</p>

<p>This requires a new image stream:</p>

<pre><code class="language-yml">kind: ImageStream
apiVersion: v1
metadata:
  name: jaeger-agent
spec:
  lookupPolicy:
    local: false
  tags:
  - name: &quot;latest&quot;
    from:
      kind: DockerImage
      name: docker.io/jaegertracing/jaeger-agent:latest
    importPolicy:
      scheduled: true
    referencePolicy:
      type: Source
</code></pre>

<p>Then you need to modify the deployment configuration for each Hono service that
should use the Jaeger agent:</p>

<pre><code class="language-diff"> - kind: DeploymentConfig
   apiVersion: v1
   metadata:
     name: hono-adapter-mqtt-vertx
     labels:
       app: hono-adapter
       deploymentconfig: hono-adapter-mqtt-vertx
   spec:
     replicas: 1
     selector:
       app: hono-adapter
       deploymentconfig: hono-adapter-mqtt-vertx
     strategy:
       type: Rolling
       rollingParams:
         timeoutSeconds: 3600
     triggers:
       - type: ConfigChange
       - type: ImageChange
         imageChangeParams:
           automatic: true
           containerNames:
             - eclipsehono-hono-adapter-mqtt-vertx
           from:
             kind: ImageStreamTag
             name: hono-adapter-mqtt-vertx:latest
+      - type: ImageChange
+        imageChangeParams:
+          automatic: true
+          containerNames:
+            - jaeger-agent
+          from:
+            kind: ImageStreamTag
+            name: jaeger-agent:latest
     template:
       metadata:
         labels:
           app: hono-adapter
           deploymentconfig: hono-adapter-mqtt-vertx
       spec:
         containers:
         - name: eclipsehono-hono-adapter-mqtt-vertx
           image: hono-adapter-mqtt-vertx
           imagePullPolicy: Always
           env:
           - name: SPRING_CONFIG_LOCATION
             value: file:///etc/config/
           - name: SPRING_PROFILES_ACTIVE
             value: 
           - name: LOGGING_CONFIG
             value: file:///etc/config/logback-spring.xml
           - name: KUBERNETES_NAMESPACE
             valueFrom:
               fieldRef:
                 fieldPath: metadata.namespace
           - name: HONO_MESSAGING_HOST
             valueFrom:
               configMapKeyRef:
                 name: hono-configuration
                 key: downstream.host
           - name: HONO_MESSAGING_PORT
             valueFrom:
               configMapKeyRef:
                 name: hono-configuration
                 key: downstream.port
           - name: HONO_COMMAND_HOST
             valueFrom:
               configMapKeyRef:
                 name: hono-configuration
                 key: downstream.host
           - name: HONO_COMMAND_PORT
             valueFrom:
               configMapKeyRef:
                 name: hono-configuration
                 key: downstream.port
           - name: HONO_REGISTRATION_HOST
             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
           - name: HONO_CREDENTIALS_HOST
             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
           - name: HONO_TENANT_HOST
             value: hono-service-device-registry.$(KUBERNETES_NAMESPACE).svc
           - name: MANAGEMENT_METRICS_EXPORT_GRAPHITE_HOST
             value: influxdb.$(KUBERNETES_NAMESPACE).svc
           - name: AB_JOLOKIA_USER
             value: jolokia
           - name: AB_JOLOKIA_PASSWORD_RANDOM
             value: &quot;false&quot;
           - name: AB_JOLOKIA_PASSWORD
             valueFrom:
               secretKeyRef:
                 name: hono-secrets
                 key: jolokia.password
           readinessProbe:
             httpGet:
               path: /readiness
               port: 8088
               scheme: HTTP
             initialDelaySeconds: 10
           livenessProbe:
             httpGet:
               path: /liveness
               port: 8088
               scheme: HTTP
             initialDelaySeconds: 180
           resources:
             limits:
               memory: 512Mi
           ports:
           - containerPort: 8778 
             name: jolokia
           - containerPort: 8088
             name: radan-http
             protocol: TCP
           - containerPort: 8883
             name: secure-mqtt
             protocol: TCP
           - containerPort: 1883
             name: mqtt
             protocol: TCP
           securityContext:
             privileged: false
           volumeMounts:
           - mountPath: /etc/config
             name: conf
           - mountPath: /etc/secrets
             name: secrets
             readOnly: true
           - mountPath: /etc/tls
             name: tls
             readOnly: true
+        - image: jaeger-agent
+          name: jaeger-agent
+          ports:
+          - containerPort: 5775
+            protocol: UDP
+          - containerPort: 5778
+          - containerPort: 6831
+            protocol: UDP
+          - containerPort: 6832
+            protocol: UDP
+          command:
+            - &quot;/go/bin/agent-linux&quot;
+            - &quot;--collector.host-port=jaeger-collector.jaeger.svc:14267&quot;
+          env:
+            - name: JAEGER_SERVICE_NAME
+              value: hono-adapter-mqtt
         volumes:
         - name: conf
           configMap:
             name: hono-adapter-mqtt-vertx-config
         - name: secrets
           secret:
             secretName: hono-mqtt-secrets
         - name: tls
           secret:
             secretName: hono-adapter-mqtt-vertx-tls
</code></pre>

<p>The important parts are only the modifications, which add a new image stream
trigger, and also add the additional agent container to the deployment. This
example assumes that the Jaeger collector will be available at the hostname
<code>jaeger-collector.jaeger.svc</code>. This will be true if you follow the next
section on deploying a development-only Jaeger cluster. Should you deploy
Jaeger differently, then this hostname and/or port may be different.</p>

<h4 id="deploy-jaeger">Deploy Jaeger</h4>

<p>Setting up a full Jaeger cluster is a complicated task. However there is a good
tutorial at the Jaeger repository at: <a href="https://github.com/jaegertracing/jaeger-openshift">https://github.com/jaegertracing/jaeger-openshift</a></p>

<p>A simple deployment, for testing purposes only, can be performed by running
the development setup template of Jaeger for OpenShift:</p>

<pre><code>oc new-project jaeger
oc process -f https://raw.githubusercontent.com/jaegertracing/jaeger-openshift/master/all-in-one/jaeger-all-in-one-template.yml | oc create -f -
</code></pre>

<p>Please be aware of the official note in the <a href="https://github.com/jaegertracing/jaeger-openshift#development-setup">documentation</a>:</p>

<blockquote>
<p>This template uses an in-memory storage with a limited functionality for local testing and development. Do not use this template in production environments.</p>
</blockquote>

<h2 id="using-the-installation">Using the installation</h2>

<p>All following examples make use of the running Hono instance. They pretty much
follow the other examples. Please note that, compared to the more simple
OpenShift deployment, in this case we need to take care of different project
names when looking up route host names via <code>oc get</code>. You can use the command
line argument <code>-n &lt;project&gt;</code> to specify the project name without changing the
default selected project.</p>

<p>All examples in the following sub-sections assume that you are located in the
<code>cli</code> directory.</p>

<h3 id="extract-certificates">Extract certificates</h3>

<p>In order to connect the external consumer to Enmasse, we need to extract the
certificate which messaging endpoint of EnMasse uses. This allows to validate
the connection to the endpoint and encrypt the communication using TLS.</p>

<p>The following command extracts the certificate of the endpoint (not the key):</p>

<pre><code>oc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\'messaging\')].cert} | base64 -d &gt; target/config/hono-demo-certs-jar/tls.crt
</code></pre>

<p>This will retrieve the certificate, decode the base64 encoded string and
store it in the file <code>target/config/hono-demo-certs-jar/tls.crt</code>. Although
the file is a &ldquo;demo cert&rdquo; as the path might indicate, it still is stored in
the same location in order to align the with the other example commands of the
Hono documentation.</p>

<h3 id="running-consumer">Running consumer</h3>

<p>As described in the <a href="https://www.eclipse.org/hono/getting-started/">Getting Started</a>
guide, data produced by devices is usually consumed by downstream applications
which connect directly to the router network service. You can start the client
from the <code>cli</code> folder as follows:</p>

<pre><code>mvn spring-boot:run -Dspring-boot.run.arguments=--hono.client.host=$(oc -n hono get addressspace default -o jsonpath={.status.endpointStatuses[?(@.name==\'messaging\')].externalHost}),--hono.client.port=443,--hono.client.username=consumer,--hono.client.password=verysecret,--hono.client.trustStorePath=target/config/hono-demo-certs-jar/tls.crt
</code></pre>

<h3 id="register-device">Register device</h3>

<p>In order to upload telemetry data to Hono, the device needs to be registered
with the system. You can register the device using the <em>Device Registry</em> by
running the following command (i.e. for a device with ID <code>4711</code>):</p>

<pre><code>curl -X POST -i -H 'Content-Type: application/json' -d '{&quot;device-id&quot;: &quot;4711&quot;}' https://$(oc get -n hono route hono-service-device-registry-https --template='{{.spec.host}}')/registration/DEFAULT_TENANT
</code></pre>

<h3 id="uploading-telemetry-with-http">Uploading Telemetry with HTTP</h3>

<p>After having the device registered, uploading telemetry is just a simple
HTTP POST command to the <em>HTTP Adapter</em>:</p>

<pre><code>curl -X POST -i -u sensor1@DEFAULT_TENANT:hono-secret -H 'Content-Type: application/json' --data-binary '{&quot;temp&quot;: 5}' https://$(oc -n hono get route hono-adapter-http-vertx-sec --template='{{.spec.host}}')/telemetry
</code></pre>

<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/stable/js/clipboard.min.js?1563845006"></script>
    <script src="/hono/docs/stable/js/perfect-scrollbar.min.js?1563845006"></script>
    <script src="/hono/docs/stable/js/perfect-scrollbar.jquery.min.js?1563845006"></script>
    <script src="/hono/docs/stable/js/jquery.sticky.js?1563845006"></script>
    <script src="/hono/docs/stable/js/featherlight.min.js?1563845006"></script>
    <script src="/hono/docs/stable/js/html5shiv-printshiv.min.js?1563845006"></script>
    <script src="/hono/docs/stable/js/highlight.pack.js?1563845006"></script>
    <script>hljs.initHighlightingOnLoad();</script>
    <script src="/hono/docs/stable/js/modernizr.custom.71422.js?1563845006"></script>
    <script src="/hono/docs/stable/js/learn.js?1563845006"></script>
    <script src="/hono/docs/stable/js/hugo-learn.js?1563845006"></script>

    <link href="/hono/docs/stable/mermaid/mermaid.css?1563845006" type="text/css" rel="stylesheet" />
    <script src="/hono/docs/stable/mermaid/mermaid.js?1563845006"></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>

