Migrate examples and extensions into extra repositories. (#596)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
This commit is contained in:
@@ -1,6 +1,2 @@
|
||||
- name: News
|
||||
url: news/index.html
|
||||
- name: Blog
|
||||
url: blog/index.html
|
||||
- name: Documentation
|
||||
url: documentation/overview/introduction.html
|
||||
@@ -8,7 +8,7 @@ title: Rollout Management
|
||||
Software update operations in large scale IoT scenarios with hundreds of thousands of devices require special handling.
|
||||
|
||||
That includes:
|
||||
- _Technical Scalability_ by means of horizontal scale of the _Rollouts_ server cluster in the cloud.
|
||||
- _Technical Scalability_ by means of horizontal scale of the _hawkBit_ server cluster in the cloud.
|
||||
- _Global_ artifact _content delivery_ capacities.
|
||||
- _Functional Scalability_ by means of:
|
||||
- Secure handling of large volumes of devices at rollout creation time.
|
||||
|
||||
@@ -13,7 +13,7 @@ The mechanism described below is the rather simple case by customizing the theme
|
||||
|
||||
# Example App
|
||||
|
||||
An example application with customized theme can be found [here](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-custom-theme-example).
|
||||
An example application with customized theme can be found [here](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-custom-theme-example).
|
||||
|
||||
# Overview
|
||||
Vaadin separates the appearance of the user interface from its logic using themes. Themes can include Sass or CSS style sheets, custom HTML layouts, and any necessary graphics.
|
||||
@@ -46,7 +46,7 @@ Every custom theme should always refer the base theme and customization can be d
|
||||
}
|
||||
```
|
||||
|
||||
- Finally the structure should be as in the [example app](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-custom-theme-example/src/main/resources/VAADIN).
|
||||
- Finally the structure should be as in the [example app](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-custom-theme-example/src/main/resources/VAADIN).
|
||||
|
||||
# Procedure to add a custom footer
|
||||
- Any footer can be added by creating "footer.html" in **src/main/resources --> VAADIN -- themes --> {XXXtheme} --> layouts** folder. An example can be found [here](https://github.com/eclipse/hawkbit/blob/master/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/layouts/footer.html).
|
||||
@@ -6,14 +6,11 @@ title: Clustering
|
||||
{% include base.html %}
|
||||
|
||||
# Create Feign REST Client
|
||||
In this guide we describe how to create a [Feign](https://github.com/Netflix/feign) Rest Client based on a [Spring Boot](http://projects.spring.io/spring-boot/) Application. [hawkBit](https://projects.eclipse.org/projects/iot.hawkbit) provides REST interfaces for [Management API](https://github.com/eclipse/hawkbit/tree/master/hawkbit-ddi-api) and [DDI API] (https://github.com/eclipse/hawkbit/tree/master/hawkbit-ddi-api). Using this interfaces you can create a feign client with the help of the [feign inheritance support] (http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).
|
||||
Our [example](https://github.com/eclipse/hawkbit/tree/master/examples) modules demonstrate how to create [Feign](https://github.com/Netflix/feign) client resources. Here you can find the [Management API client resources](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-mgmt-feign-client) and the [DDI client resources](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-ddi-feign-client).
|
||||
A small [simulator application](https://github.com/eclipse/hawkbit/blob/master/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java) demonstrates how you can interact with the [hawkBit](https://projects.eclipse.org/projects/iot.hawkbit) via the [Management API
|
||||
In this guide we describe how to create a [Feign](https://github.com/Netflix/feign) Rest Client based on a [Spring Boot](http://projects.spring.io/spring-boot/) Application. hawkBit provides REST interfaces for [Management API](https://github.com/eclipse/hawkbit/tree/master/hawkbit-ddi-api) and [DDI API] (https://github.com/eclipse/hawkbit/tree/master/hawkbit-ddi-api). Using this interfaces you can create a feign client with the help of the [feign inheritance support] (http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).
|
||||
Our [example](https://github.com/eclipse/hawkbit-examples) modules demonstrate how to create [Feign](https://github.com/Netflix/feign) client resources. Here you can find the [Management API client resources](hhttps://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-feign-client) and the [DDI client resources](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-ddi-feign-client).
|
||||
A small [simulator application](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator) demonstrates how you can interact with the hawkBit via the [Management API
|
||||
](http://www.eclipse.org/hawkbit/documentation/interfaces/management-api.html).
|
||||
|
||||
Note: A hawkbit application have to be run. Therefore, you can use our [example application](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-app)
|
||||
|
||||
|
||||
### Example Managment API simulator
|
||||
|
||||
In the follow code section, you can a see a feign client resource example. The interface extend the orgin api inteface to declare the `@FeignClient`. The `@FeignClient`declares that a REST client with that interface should be created.
|
||||
@@ -41,7 +38,7 @@ public class CreateStartedRolloutExample {
|
||||
|
||||
```
|
||||
|
||||
At [hawkbit-example-core-feign-client](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-core-feign-client) is a spring configuration to auto configure some beans, which can be reused for a own feign client.
|
||||
At [hawkbit-example-core-feign-client](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-core-feign-client) is a spring configuration to auto configure some beans, which can be reused for a own feign client.
|
||||
|
||||
```
|
||||
@Configuration
|
||||
|
||||
@@ -20,12 +20,12 @@ This guide describes a target architecture that is more like one that you will e
|
||||
- [MariaDB](https://mariadb.org) for the repository.
|
||||
- [RabbitMQ](https://www.rabbitmq.com) for DMF communication.
|
||||
- For testing and demonstration purposes we will also use:
|
||||
- [hawkBit Device Simulator](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-device-simulator).
|
||||
- [hawkBit Management API example client](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-mgmt-api-client).
|
||||
- [hawkBit Device Simulator](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator).
|
||||
- [hawkBit Management API example client](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-mgmt-api-client).
|
||||
|
||||
# Prerequisites
|
||||
- You have a working [hawkBit core build](https://github.com/eclipse/hawkbit).
|
||||
- You have a working [hawkBit examples build](https://github.com/eclipse/hawkbit/examples).
|
||||
- You have a working [hawkBit examples build](https://github.com/eclipse/hawkbit-examples).
|
||||
|
||||
# Steps
|
||||
|
||||
@@ -66,7 +66,7 @@ spring.rabbitmq.host=localhost
|
||||
spring.rabbitmq.port=5672
|
||||
{% endhighlight %}
|
||||
|
||||
### Adapt hostname of example scenario [creation script](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-mgmt-api-client) (optional)
|
||||
### Adapt hostname of example scenario [creation script](https://github.com/eclipse/hawkbit-examples/blob/master/hawkbit-example-mgmt-simulator/src/main/resources/application.properties)
|
||||
|
||||
Should only be necessary if your system does not run on localhost or uses a different port than the example app.
|
||||
|
||||
@@ -86,7 +86,7 @@ hawkbit-example-mgmt-simulator-##VERSION##.jar --hawkbit.url=YOUR_HOST:PORT
|
||||
|
||||
see [update server](https://github.com/eclipse/hawkbit/tree/master/hawkbit-runtime/hawkbit-update-server)
|
||||
|
||||
### Compile & Run example scenario [creation script](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-mgmt-api-client) (optional).
|
||||
### Compile & Run example scenario [creation script](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator) (optional).
|
||||
|
||||
This has to be done before the device simulator is started. _hawkBit_ creates the mandatory tenant metadata with first login into either _Management UI_ or API (which is done by this client).
|
||||
|
||||
@@ -94,7 +94,7 @@ However, this is not done by _DMF_ which is in fact used by the device simulator
|
||||
|
||||
### Compile & Run device simulator (optional).
|
||||
|
||||
see [device simulator](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-device-simulator)
|
||||
see [device simulator](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator)
|
||||
|
||||
## Enjoy hawkBit with a real database, artifact storage and all [interfaces](../interfaces/interfaces.html) available.
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
@@ -5,7 +5,7 @@ title: Interfaces
|
||||
|
||||
{% include base.html %}
|
||||
|
||||
{:width="100%"}
|
||||
{:width="100%"}
|
||||
|
||||
|
||||
# Graphical User Interface
|
||||
|
||||
@@ -37,7 +37,7 @@ Available Management APIs resources are:
|
||||
* [Target Tag](https://docs.bosch-iot-rollouts.com/documentation/rest-api/targettag-api-guide.html)
|
||||
* [Distribution Set Tag](https://docs.bosch-iot-rollouts.com/documentation/rest-api/distributionsettag-api-guide.html)
|
||||
* [Rollouts](https://docs.bosch-iot-rollouts.com/documentation/rest-api/rollout-api-guide.html)
|
||||
* [Tenant](https://docs.bosch-iot-rollouts.com/documentation/rest-api/tenant-api-guide.html)
|
||||
* [System Configuration](https://docs.bosch-iot-rollouts.com/documentation/rest-api/tenant-api-guide.html)
|
||||
|
||||
|
||||
## Headers
|
||||
|
||||
@@ -3,4 +3,63 @@ layout: documentation
|
||||
title: Features
|
||||
---
|
||||
|
||||
{% include base.html %}
|
||||
{% include base.html %}
|
||||
|
||||
# Feature overview
|
||||
|
||||
### Device and software repository
|
||||
- Repository that holds the provisioning targets and assignable software distributions.
|
||||
- That includes a full software update history for every device.
|
||||
- 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.
|
||||
|
||||
### Update Management
|
||||
- Directly deploy a defined software distribution to a device (by Management UI or API).
|
||||
- Update handling is independent of the device type, integration approach or connectivity.
|
||||
|
||||
### Management UI/Console
|
||||
- Create/Read/Update/Delete operations for provisioning targets (i.e. devices) and repository content (i.e. software).
|
||||
- Manage and monitor software update operations.
|
||||
- Optimized for professional users, e.g. administrators, developers and 2nd/3rd level support staff.
|
||||
- Ease of use drag-and-drop paradigm.
|
||||
- Flexible grouping of data.
|
||||
- Flexible filters for data browsing.
|
||||
- Responsive to resolution.
|
||||
- Lazy loading of data.
|
||||
- All information on one page.
|
||||
- Optional integration with Bosch IoT Permissions service for full multi user support with fine granular permission based authorization.
|
||||
|
||||
### Artifact Content Delivery
|
||||
- Partial downloads supported.
|
||||
- Download resume supported (RFC7233).
|
||||
- Content management by RESTful API and UI (see above).
|
||||
- Authorization based on software assignment, i.e. a device can only download what has been assigned to it in the first place.
|
||||
- Delta artifact hosting supported.
|
||||
- Artifact signature hosting supported.
|
||||
|
||||
### Rollout/Campaign Management
|
||||
- Secure handling of large volumes of devices at rollout creation time.
|
||||
- Flexible deployment group definition as part of a rollout.
|
||||
- Monitoring of the rollout progress.
|
||||
- Emergency rollout shutdown in case of update failures.
|
||||
|
||||
## Interfaces
|
||||
### Management API
|
||||
- RESTful API
|
||||
- Create/Read/Update/Delete operations for provisioning targets (i.e. devices) and repository content (i.e. software).
|
||||
- Manage and monitor software update operations.
|
||||
- Online API documentation.
|
||||
- JSON payload with Hypermedia support.
|
||||
- Supports filtering, sorting and paging.
|
||||
|
||||
### Direct Device Integration API
|
||||
- RESTful HTTP based API for direct device integration
|
||||
- JSON payload.
|
||||
- Traffic optimized (content based Etag generation, not modified).
|
||||
- Feedback channel from device.
|
||||
- TLS encryption.
|
||||
|
||||
### Device Management Federation API
|
||||
- Indirect device integration through a device management service or application into hawkBit.
|
||||
- Optimized for high service to service throughput with [AMQP](https://www.rabbitmq.com/amqp-0-9-1-reference.html) messaging interface.
|
||||
- Separate AMQP vHost per tenant for maximum security.
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@ $ cd hawkbit
|
||||
$ mvn clean install
|
||||
{% endhighlight %}
|
||||
|
||||
#### Start hawkBit update server
|
||||
[Example Application](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-app)
|
||||
#### Start hawkBit [update server](https://github.com/eclipse/hawkbit/tree/master/hawkbit-runtime/hawkbit-update-server)
|
||||
|
||||
{% highlight bash %}
|
||||
$ java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-#version#-SNAPSHOT.jar
|
||||
@@ -29,19 +28,19 @@ $ java -jar ./hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server
|
||||
|
||||
#### Build hawkBit examples
|
||||
{% highlight bash %}
|
||||
$ git clone https://github.com/eclipse/hawkbit.git
|
||||
$ cd hawkbit/examples
|
||||
$ git clone https://github.com/eclipse/hawkbit-examples.git
|
||||
$ cd hawkbit-examples
|
||||
$ mvn clean install
|
||||
{% endhighlight %}
|
||||
|
||||
#### Start hawkBit device simulator
|
||||
[Device Simulator](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-device-simulator)
|
||||
[Device Simulator](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-device-simulator)
|
||||
{% highlight bash %}
|
||||
$ java -jar ./examples/hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar
|
||||
$ java -jar ./hawkbit-device-simulator/target/hawkbit-device-simulator-#version#.jar
|
||||
{% endhighlight %}
|
||||
|
||||
#### Generate Getting Started data
|
||||
[Example Management API Client](https://github.com/eclipse/hawkbit/tree/master/examples/hawkbit-example-mgmt-simulator)
|
||||
[Example Management API Client](https://github.com/eclipse/hawkbit-examples/tree/master/hawkbit-example-mgmt-simulator)
|
||||
{% highlight bash %}
|
||||
$ java -jar ./examples/hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#.jar
|
||||
$ java -jar ./hawkbit-example-mgmt-simulator/target/hawkbit-example-mgmt-simulator-#version#.jar
|
||||
{% endhighlight %}
|
||||
|
||||
Reference in New Issue
Block a user