Files
hawkbit/docs/content/guides/runhawkbit.md
Jeroen Laverman f96876afe0 Introduce new, Hugo templates based, website (#713)
* Add new hugo-based website for hawkBit

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Fix broken links + wordings
- , i.e. -> i.e,
- , e.g. -> e.g.,
- hawkbit -> hawkBit
- don't -> do not
- isn't -> is not

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Remove old documentation and add maven integration

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Add Intellij files to ignore

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Update README

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Update Copyright header
* exclude website artifacts

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Harmonize usage of i.e. and e.g.

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Add remark for windows user

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Fix indention

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Introduce review findings

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Change image in 'run hawkbit' guide

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
2018-08-01 11:01:02 +02:00

4.1 KiB

title, parent, weight
title parent weight
Run hawkBit Guides 31

In this guide we describe how to run a full featured hawkBit setup based on a production ready infrastructure. It is based on the hawkBit example modules and update server.

{{% note %}} The update server can in fact be run stand alone. However, only with an embedded H2, no Device Management Federation API and no artifact storage. {{% /note %}}

System Architecture

This guide describes a target architecture that is more like one that you will expect in a production system.

Prerequisites

Adapt hawkBit Update Server and Device Simulator to your environment.

As mentioned you can create your own application with hawkBit inside or adapt the existing example app. The second option will be shown here.

Set MariaDB dependency to compile in the update server POM

<dependency>
  <groupId>org.mariadb.jdbc</groupId>
  <artifactId>mariadb-java-client</artifactId>
  <scope>compile</scope>
</dependency>

Configure MariaDB/MySQL connection settings.

For this you can either edit the existing application.properties or create a new profile.

spring.jpa.database=MYSQL
spring.datasource.url=jdbc:mysql://localhost:3306/YOUR_SCHEMA
spring.datasource.username=YOUR_USER
spring.datasource.password=YOUR_PWD
spring.datasource.driverClassName=org.mariadb.jdbc.Driver

Configure RabbitMQ connection settings for update server and device simulator (optional).

We provide already defaults that should work with a standard Rabbit installation. Otherwise configure the following in the application.properties of the two services:

spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtualHost=/
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672

Adapt hostname of example scenario creation script

Should only be necessary if your system does not run on localhost or uses a different port than the example app.

Adapt application.properties in this case:

hawkbit.url=localhost:8080

or provide the parameter on command line:

hawkbit-example-mgmt-simulator-##VERSION##.jar --hawkbit.url=YOUR_HOST:PORT

Compile & Run

Compile & Run your "production ready" app.

see update server

Compile & Run example scenario creation script (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).

However, this is not done by DMF which is in fact used by the device simulator, i.e. without calling Management API first hawkBit would drop all DMF messages as the tenant is unknown.

Compile & Run device simulator (optional).

see device simulator

Enjoy hawkBit with a real database, artifact storage and all interfaces available.