| <!DOCTYPE html> | |
| <html class="no-js"> | |
| <head lang="en-us"> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1"> | |
| <meta http-equiv="X-UA-Compatible" content="IE=10" /> | |
| <title>Features - Eclipse hawkBit</title> | |
| <meta name="generator" content="Hugo 0.77.0" /> | |
| <meta name="description" content="IoT. Update. Device."> | |
| <link rel="canonical" href="https://www.eclipse.org/hawkbit/features/"> | |
| <meta name="author" content="The Eclipse hawkBit Project"> | |
| <meta property="og:url" content="https://www.eclipse.org/hawkbit/features/"> | |
| <meta property="og:title" content="Eclipse hawkBit"> | |
| <meta property="og:image" content="https://www.eclipse.org/hawkbit/images/hawkbit_icon.png"> | |
| <meta name="apple-mobile-web-app-title" content="Eclipse hawkBit"> | |
| <meta name="apple-mobile-web-app-capable" content="yes"> | |
| <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> | |
| <link rel="shortcut icon" type="image/x-icon" href="https://www.eclipse.org/hawkbit/images/favicon.ico"> | |
| <link rel="icon" type="image/x-icon" href="https://www.eclipse.org/hawkbit/images/favicon.ico"> | |
| <style> | |
| @font-face { | |
| font-family: 'Icon'; | |
| src: url('https://www.eclipse.org/hawkbit/fonts/icon.eot'); | |
| src: url('https://www.eclipse.org/hawkbit/fonts/icon.eot') | |
| format('embedded-opentype'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.woff') | |
| format('woff'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.ttf') | |
| format('truetype'), | |
| url('https://www.eclipse.org/hawkbit/fonts/icon.svg') | |
| format('svg'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| </style> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/application.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/temporary.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/palettes.css"> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/stylesheets/highlight/highlight.css"> | |
| <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Ubuntu:400,700|Ubuntu+Mono"> | |
| <style> | |
| body, input { | |
| font-family: 'Ubuntu', Helvetica, Arial, sans-serif; | |
| } | |
| pre, code { | |
| font-family: 'Ubuntu Mono', 'Courier New', 'Courier', monospace; | |
| } | |
| </style> | |
| <link rel="stylesheet" href="https://www.eclipse.org/hawkbit/css/hawkbit.css"> | |
| <link rel="stylesheet" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css"> | |
| <script src="https://www.eclipse.org/hawkbit/javascripts/modernizr.js"></script> | |
| <script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script> | |
| <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"> | |
| </head> | |
| <body class="palette-primary-deep-purple palette-accent-light-green"> | |
| <div class="backdrop"> | |
| <div class="backdrop-paper"></div> | |
| </div> | |
| <input class="toggle" type="checkbox" id="toggle-drawer"> | |
| <input class="toggle" type="checkbox" id="toggle-search"> | |
| <label class="toggle-button overlay" for="toggle-drawer"></label> | |
| <header class="header"> | |
| <nav aria-label="Header"> | |
| <div class="bar default"> | |
| <div class="button button-menu" role="button" aria-label="Menu"> | |
| <label class="toggle-button icon icon-menu" for="toggle-drawer"> | |
| <span></span> | |
| </label> | |
| </div> | |
| <div class="stretch"> | |
| <div class="title"> | |
| Features | |
| </div> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="GitHub"> | |
| <a href="https://github.com/eclipse/hawkbit" title="@eclipse/hawkbit on GitHub" target="_blank" class="toggle-button icon icon-github"></a> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="Gitter"> | |
| <a href="https://gitter.im/eclipse/hawkbit" title="@eclipse/hawkbit on Gitter" target="_blank" class="toggle-button icon fab fa-gitter"></a> | |
| </div> | |
| <div class="button button-github" role="button" aria-label="Docker"> | |
| <a href="https://hub.docker.com/u/hawkbit" title="hawkbit on Docker Hub" target="_blank" class="toggle-button icon fab fa-docker"></a> | |
| </div> | |
| </div> | |
| <div class="bar search"> | |
| <div class="button button-close" role="button" aria-label="Close"> | |
| <label class="toggle-button icon icon-back" for="toggle-search"></label> | |
| </div> | |
| <div class="stretch"> | |
| <div class="field"> | |
| <input class="query" type="text" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck> | |
| </div> | |
| </div> | |
| <div class="button button-reset" role="button" aria-label="Search"> | |
| <button class="toggle-button icon icon-close" id="reset-search"></button> | |
| </div> | |
| </div> | |
| </nav> | |
| </header> | |
| <main class="main"> | |
| <div class="drawer"> | |
| <nav aria-label="Navigation"> | |
| <a href="https://www.eclipse.org/hawkbit/" class="project"> | |
| <div class="banner"> | |
| <div class="logo"> | |
| <img src="https://www.eclipse.org/hawkbit/images/hawkbit_icon.png"> | |
| </div> | |
| <div class="name"> | |
| <strong>Eclipse hawkBit™ </strong> | |
| <br> | |
| eclipse/hawkbit | |
| </div> | |
| </div> | |
| </a> | |
| <div class="scrollable"> | |
| <div class="wrapper"> | |
| <ul class="repo"> | |
| <li class="repo-download"> | |
| <a href="https://hawkbit.eclipse.org" target="_blank" title="hawkBit Sandbox" data-action="sandbox"> | |
| <i class="fas fa-desktop"></i> Sandbox | |
| </a> | |
| </li> | |
| <li class="repo-stars"> | |
| <a href="https://github.com/eclipse/hawkbit/stargazers" target="_blank" title="Stargazers" data-action="star"> | |
| <i class="icon icon-star"></i> Stars | |
| <span class="count">–</span> | |
| </a> | |
| </li> | |
| </ul> | |
| <hr> | |
| <div class="toc"> | |
| <ul> | |
| <li> | |
| <a title="What is hawkBit" href="/hawkbit/whatishawkbit/"> | |
| What is hawkBit | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Getting started" href="/hawkbit/gettingstarted/"> | |
| Getting started | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Guides" href="/hawkbit/guides/"> | |
| Guides | |
| </a> | |
| </li> | |
| <li> | |
| <a class="current" title="Features" href="/hawkbit/features/"> | |
| Features | |
| </a> | |
| <ul id="scrollspy"> | |
| </ul> | |
| </li> | |
| <li> | |
| <a title="Concepts" href="/hawkbit/concepts/"> | |
| Concepts | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Architecture" href="/hawkbit/architecture/"> | |
| Architecture | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Management UI" href="/hawkbit/ui/"> | |
| Management UI | |
| </a> | |
| </li> | |
| <li> | |
| <a title="APIs" href="/hawkbit/apis/"> | |
| APIs | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Community" href="/hawkbit/community/"> | |
| Community | |
| </a> | |
| </li> | |
| <li> | |
| <a title="Release notes" href="/hawkbit/release-notes/"> | |
| Release notes | |
| </a> | |
| </li> | |
| </ul> | |
| <hr> | |
| <ul> | |
| <li> | |
| <a href="https://gitter.im/eclipse/hawkbit?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge" title="Chat on Gitter" target="_blank"> | |
| <img src="https://badges.gitter.im/eclipse/hawkbit.svg" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://circleci.com/gh/eclipse/hawkbit" title="Circle CI Status" target="_blank"> | |
| <img src="https://circleci.com/gh/eclipse/hawkbit.svg?style=shield" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://sonar.ops.bosch-iot-rollouts.com" title="SonarQube Status" target="_blank"> | |
| <img src="https://sonar.ops.bosch-iot-rollouts.com/api/badges/gate?key=org.eclipse.hawkbit:hawkbit-parent" /> | |
| </a> | |
| </li> | |
| <li> | |
| <a href="https://maven-badges.herokuapp.com/maven-central/org.eclipse.hawkbit/hawkbit-parent" title="Maven Central Status" target="_blank"> | |
| <img src="https://maven-badges.herokuapp.com/maven-central/org.eclipse.hawkbit/hawkbit-parent/badge.svg" /> | |
| </a> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| </nav> | |
| </div> | |
| <article class="article"> | |
| <div class="wrapper"> | |
| <h1>Features </h1> | |
| <h2 id="device-and-software-repository">Device and Software Repository</h2> | |
| <ul> | |
| <li>Repository that holds the provisioning targets and assignable software distributions.</li> | |
| <li>That includes a full software update history for every device.</li> | |
| <li>Support for pre-commission devices in the repository and plug and play, i.e. device is created if it is authenticated for the first time.</li> | |
| </ul> | |
| <h2 id="update-management">Update Management</h2> | |
| <ul> | |
| <li>Directly deploy a defined software distribution to a device (by Management UI or API).</li> | |
| <li>Update handling is independent of the device type, integration approach or connectivity.</li> | |
| </ul> | |
| <h2 id="management-ui">Management UI</h2> | |
| <ul> | |
| <li>Create/Read/Update/Delete operations for provisioning targets (i.e. devices) and repository content (i.e. software).</li> | |
| <li>Manage and monitor software update operations.</li> | |
| <li>Optimized for professional users, e.g. administrators, developers and 2nd/3rd level support staff.</li> | |
| <li>Ease of use drag-and-drop paradigm.</li> | |
| <li>Flexible grouping of data.</li> | |
| <li>Flexible filters for data browsing.</li> | |
| <li>Responsive to resolution.</li> | |
| <li>Lazy loading of data.</li> | |
| <li>All information on one page.</li> | |
| <li>Optional integration with Bosch IoT Permissions service for full multi user support with fine granular permission based authorization.</li> | |
| </ul> | |
| <h2 id="artifact-content-delivery">Artifact Content Delivery</h2> | |
| <ul> | |
| <li>Partial downloads supported.</li> | |
| <li>Download resume supported (RFC7233).</li> | |
| <li>Content management by RESTful API and UI (see above).</li> | |
| <li>Authorization based on software assignment, i.e. a device can only download what has been assigned to it in the first place.</li> | |
| <li>Delta artifact hosting supported.</li> | |
| <li>Artifact signature hosting supported.</li> | |
| </ul> | |
| <h2 id="rollout-campaign-management">Rollout/Campaign Management</h2> | |
| <ul> | |
| <li>Secure handling of large volumes of devices at rollout creation time.</li> | |
| <li>Flexible deployment group definition as part of a rollout.</li> | |
| <li>Monitoring of the rollout progress.</li> | |
| <li>Emergency rollout shutdown in case of update failures.</li> | |
| </ul> | |
| <h2 id="interfaces">Interfaces</h2> | |
| <h3 id="management-api">Management API</h3> | |
| <ul> | |
| <li>RESTful API</li> | |
| <li>Create/Read/Update/Delete operations for provisioning targets (i.e. devices) and repository content (i.e. software).</li> | |
| <li>Manage and monitor software update operations.</li> | |
| <li>Online API documentation.</li> | |
| <li>JSON payload with Hypermedia support.</li> | |
| <li>Supports filtering, sorting and paging.</li> | |
| </ul> | |
| <h3 id="direct-device-integration-api">Direct Device Integration API</h3> | |
| <ul> | |
| <li>RESTful HTTP based API for direct device integration | |
| <ul> | |
| <li>JSON payload.</li> | |
| <li>Traffic optimized (content based Etag generation, not modified).</li> | |
| </ul></li> | |
| <li>Feedback channel from device.</li> | |
| <li>TLS encryption.</li> | |
| </ul> | |
| <h3 id="device-management-federation-api">Device Management Federation API</h3> | |
| <ul> | |
| <li>Indirect device integration through a device management service or application into hawkBit.</li> | |
| <li>Optimized for high service to service throughput with <a href="https://www.rabbitmq.com/amqp-0-9-1-reference.html">AMQP</a> messaging interface.</li> | |
| <li>Separate AMQP vHost per tenant for maximum security.</li> | |
| </ul> | |
| <aside class="copyright" role="note"> | |
| <div class="logo"> | |
| <a href="https://www.eclipse.org" target="_blank"> | |
| <img src="/hawkbit/images/eclipse_foundation_logo.png" /> | |
| </a> | |
| </div> | |
| <p class="notice"> | |
| © 2021 The Eclipse hawkBit Project – | |
| Documentation built with | |
| <a href="https://www.gohugo.io" target="_blank">Hugo</a> | |
| using the | |
| <a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme. | |
| </p> | |
| <p class="quickLinks"> | |
| <a href="http://www.eclipse.org/legal/privacy.php" target="_blank"> | |
| > Privacy Policy | |
| </a> | |
| <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank"> | |
| > Terms of Use | |
| </a> | |
| <a href="http://www.eclipse.org/legal/copyright.php" target="_blank"> | |
| > Copyright Agent | |
| </a> | |
| <a href="http://www.eclipse.org/legal" target="_blank"> | |
| > Legal | |
| </a> | |
| <a href="https://www.eclipse.org/org/documents/epl-v10.php" target="_blank"> | |
| > License | |
| </a> | |
| </p> | |
| </aside> | |
| <footer class="footer"> | |
| <nav class="pagination" aria-label="Footer"> | |
| <div class="previous"> | |
| <a href="https://www.eclipse.org/hawkbit/concepts/authentication/" title="Authentication"> | |
| <span class="direction"> | |
| Previous | |
| </span> | |
| <div class="page"> | |
| <div class="button button-previous" role="button" aria-label="Previous"> | |
| <i class="icon icon-back"></i> | |
| </div> | |
| <div class="stretch"> | |
| <div class="title"> | |
| Authentication | |
| </div> | |
| </div> | |
| </div> | |
| </a> | |
| </div> | |
| <div class="next"> | |
| <a href="https://www.eclipse.org/hawkbit/guides/customtheme/" title="Custom Theme"> | |
| <span class="direction"> | |
| Next | |
| </span> | |
| <div class="page"> | |
| <div class="stretch"> | |
| <div class="title"> | |
| Custom Theme | |
| </div> | |
| </div> | |
| <div class="button button-next" role="button" aria-label="Next"> | |
| <i class="icon icon-forward"></i> | |
| </div> | |
| </div> | |
| </a> | |
| </div> | |
| </nav> | |
| </footer> | |
| </div> | |
| </article> | |
| <div class="results" role="status" aria-live="polite"> | |
| <div class="scrollable"> | |
| <div class="wrapper"> | |
| <div class="meta"></div> | |
| <div class="list"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </main> | |
| <script> | |
| var base_url = 'https:\/\/www.eclipse.org\/hawkbit\/'; | |
| var repo_id = 'eclipse\/hawkbit'; | |
| </script> | |
| <script src="https://www.eclipse.org/hawkbit/javascripts/application.js"></script> | |
| <script> | |
| /* Add headers to scrollspy */ | |
| var headers = document.getElementsByTagName("h2"); | |
| var scrollspy = document.getElementById('scrollspy'); | |
| if(scrollspy) { | |
| if(headers.length > 0) { | |
| for(var i = 0; i < headers.length; i++) { | |
| var li = document.createElement("li"); | |
| li.setAttribute("class", "anchor"); | |
| var a = document.createElement("a"); | |
| if(!headers[i].id) | |
| a.setAttribute("href", headers[i].parentNode.href); | |
| else | |
| a.setAttribute("href", "#" + headers[i].id); | |
| a.setAttribute("title", headers[i].innerHTML); | |
| a.innerHTML = headers[i].innerHTML; | |
| li.appendChild(a); | |
| scrollspy.appendChild(li); | |
| } | |
| } else { | |
| scrollspy.parentElement.removeChild(scrollspy) | |
| } | |
| /* Add permanent link next to the headers */ | |
| var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6"); | |
| for(var i = 0; i < headers.length; i++) { | |
| var a = document.createElement("a"); | |
| a.setAttribute("class", "headerlink"); | |
| a.setAttribute("href", "#" + headers[i].id); | |
| a.setAttribute("title", "Permanent link"); | |
| a.innerHTML = "#"; | |
| headers[i].appendChild(a); | |
| } | |
| } | |
| </script> | |
| <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js"></script> | |
| <script>hljs.initHighlightingOnLoad();</script> | |
| </body> | |
| </html> | |