Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Jeroen Laverman
authored and
Dominic Schabel
committed
Aug 1, 2018
1 parent
fa751c3
commit f96876a
Showing
145 changed files
with
1,543 additions
and
5,832 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,25 @@ | ||
# Eclipse hawkBit Documentation | ||
The hawkBit documentation is built with [Hugo](https://www.gohugo.io/) using the [Material](http://github.com/digitalcraftsman/hugo-material-docs) | ||
theme. Compiling the documentation is not included within the regular Maven build. | ||
|
||
The hawkBit documentation is based on [Jekyll](http://jekyllrb.com/). Jekyll is a Ruby gem and thus requires a Ruby runtime to be executed. Compiling the documentation is not included within the regular Maven build. | ||
## Prerequisites | ||
1. **Install Hugo**: see [installing Hugo](https://gohugo.io/getting-started/installing/) documentation on how to install Hugo. | ||
2. **Install hawkBit**: run `mvn install` in the parent directory to generate the latest REST docs for hawkBit. | ||
|
||
## Build and Serve documentation | ||
|
||
### Unix / Mac | ||
|
||
On a unix or mac you don't need to extra install Jekyll. The Maven build is downloading the ruby runtime and the necessary ruby-gems via the Maven rubygems-proxy repository. The Ruby runtime is downloaded into the `target` folder and executed during the build. | ||
|
||
To serve the current documentation you only need to call `mvn install gem:exec@jekyll-serve` (within the `docs` folder). It automatically monitors the filesystem and every local changes are generated on-demand on the local server [http://127.0.0.1:4000/hawkbit/](http://127.0.0.1:4000/hawkbit/). | ||
|
||
### Windows | ||
## Build and Serve documentation | ||
The following Maven targets are available in order to build and serve the documentation: | ||
|
||
On a Windows operating system you'll need to install Jekyll manually. If you don't have installed Jekyll on your machine you can use the [PortableJekyll](https://github.com/madhur/PortableJekyll) project. Just clone the Github repository and start the `setpath.cmd` which setups the necessary path entries into the CMD (don't forget to copy them into the environment path variable to have the path set for every command prompt). | ||
* `mvn install`: _i._ Copies the generated REST docs to `content/rest-api/` and _ii._ downloads the required Hugo theme | ||
* `mvn site`: Serve the documentation on [localhost:1313/hawkbit/](localhost:1313/hawkbit/) | ||
* `mvn clean`: Delete generated artifacts (REST docs, Hugo theme) | ||
|
||
The Maven build on windows just executes the `Jekyll` process using the maven-exec plugin. This allows to use Maven to build and serve the documentation on a windows machine as well. | ||
_Note: Currently, **only** Unix/macOS is supported! For Windows, use the hugo commands in CMD._ | ||
|
||
To serve the current documentation you only need to call `mvn exec:exec@jekyll-serve`. It automatically monitors the filesystem and every local changes are generated on-demand on the local server [http://127.0.0.1:4000/hawkbit/](http://127.0.0.1:4000/hawkbit/). | ||
|
||
## Test API docs integration | ||
## Generate /public folder | ||
In order to generate the `/public` folder, which can be put on a web-server, run the following command: | ||
|
||
In order to verify the hawkbit-rest-docs integration you have to run the serve command above and when running call `mvn install`in parallel to include the generated rest docs into the serve run. | ||
```bash | ||
$ hugo | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# | ||
# Copyright (c) 2018 Bosch Software Innovations GmbH and others. | ||
# | ||
# All rights reserved. This program and the accompanying materials | ||
# are made available under the terms of the Eclipse Public License v1.0 | ||
# which accompanies this distribution, and is available at | ||
# http://www.eclipse.org/legal/epl-v10.html | ||
# | ||
|
||
# This script is used to clean up the previously generated or downloaded files. | ||
|
||
#!/bin/bash | ||
|
||
|
||
echo "[INFO] Remove Hugo Theme" | ||
rm -rf themes resources public | ||
echo "[INFO] ... done" | ||
|
||
echo "[INFO] " | ||
|
||
echo "[INFO] Remove generated REST docs" | ||
rm -f content/rest-api/*.html | ||
echo "[INFO] ... done" | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# | ||
# Copyright (c) 2018 Bosch Software Innovations GmbH and others. | ||
# | ||
# All rights reserved. This program and the accompanying materials | ||
# are made available under the terms of the Eclipse Public License v1.0 | ||
# which accompanies this distribution, and is available at | ||
# http://www.eclipse.org/legal/epl-v10.html | ||
# | ||
|
||
baseurl = "https://www.eclipse.org/hawkbit/" | ||
languageCode = "en-us" | ||
title = "Eclipse hawkBit" | ||
theme = "hugo-material-docs" | ||
metadataformat = "toml" | ||
canonifyurls = false | ||
|
||
[params] | ||
# General information | ||
author = "The Eclipse hawkBit Project" | ||
description = "IoT. Update. Device." | ||
copyright = "The Eclipse hawkBit Project" | ||
logo = "images/hawkbit_icon.png" | ||
favicon = "images/favicon.ico" | ||
|
||
# Repository | ||
provider = "GitHub" | ||
repo_url = "https://github.com/eclipse/hawkbit" | ||
|
||
permalink = "#" | ||
|
||
# Custom assets | ||
custom_css = ["css/hawkbit.css","//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css"] | ||
custom_js = [] | ||
|
||
# Syntax highlighting theme | ||
highlight_css = "" | ||
|
||
[params.palette] | ||
primary = "deep-purple" | ||
accent = "light-green" | ||
|
||
[params.font] | ||
text = "Ubuntu" | ||
code = "Ubuntu Mono" | ||
|
||
|
||
[social] | ||
github = "eclipse/hawkbit" | ||
gitter = "eclipse/hawkbit" | ||
docker = "hawkbit" | ||
|
||
|
||
[[menu.main]] | ||
name = "What is hawkBit" | ||
url = "/whatishawkbit/" | ||
weight = 10 | ||
|
||
[[menu.main]] | ||
name = "Getting started" | ||
url = "/gettingstarted/" | ||
weight = 20 | ||
|
||
[[menu.main]] | ||
name = "Guides" | ||
url = "/guides/" | ||
weight = 30 | ||
|
||
[[menu.main]] | ||
name = "Features" | ||
url = "/features/" | ||
weight = 40 | ||
|
||
[[menu.main]] | ||
name = "Concepts" | ||
url = "/concepts/" | ||
weight = 50 | ||
|
||
[[menu.main]] | ||
name = "Architecture" | ||
url = "/architecture/" | ||
weight = 60 | ||
|
||
[[menu.main]] | ||
name = "Management UI" | ||
url = "/ui/" | ||
weight = 70 | ||
|
||
[[menu.main]] | ||
name = "APIs" | ||
url = "/apis/" | ||
weight = 80 | ||
|
||
[[menu.main]] | ||
name = "Community" | ||
url = "/community/" | ||
weight = 90 | ||
|
||
[[menu.main]] | ||
name = "Release Notes" | ||
url = "/release-notes/" | ||
weight = 100 | ||
|
||
[blackfriday] | ||
smartypants = true | ||
fractions = true | ||
smartDashes = true | ||
plainIDAnchors = true |
26 changes: 13 additions & 13 deletions
26
...urces/documentation/interfaces/ddi-api.md → docs/content/apis/ddi_api.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,33 @@ | ||
--- | ||
layout: documentation | ||
title: DDI-API | ||
title: Direct Device Integration API | ||
parent: APIs | ||
weight: 82 | ||
--- | ||
|
||
{% include base.html %} | ||
|
||
This API is based on HTTP standards and based on a polling mechanism. | ||
|
||
The _hawkbit_ [update server](https://github.com/eclipse/hawkbit) provides REST resources which are consumed by the device to retrieve software update tasks. | ||
The hawkBit [update server](https://github.com/eclipse/hawkbit) provides REST resources which are consumed by the device to retrieve software update tasks. | ||
|
||
Note: in DDI the target is identified using a **controllerId**. Controller is used as a term for the actual service/client on the device. That allows users to have in some cases even multiple clients on the same target for different tasks, e.g. Firmware update and App management. | ||
{{% note %}} | ||
In DDI the target is identified using a **controllerId**. Controller is used as a term for the actual service/client on the device. That allows users to have in some cases even multiple clients on the same target for different tasks, e.g. Firmware update and App management. | ||
{{% /note %}} | ||
|
||
# State Machine Mapping | ||
## State Machine Mapping | ||
|
||
For historical reasons the DDI has a different state machine and status messages than the [Target State Machine](../architecture/targetstate.html) of the _hawkBit_ update server. | ||
For historical reasons the DDI has a different state machine and status messages than the [Target State Machine](../../concepts/targetstate/) of the hawkBit update server. | ||
|
||
This is kept in order to ensure that _DDI_ stays compatible for devices out there in the field. A future version "2" of _DDI_ might change that. _DDI_ also defines more states than the update server, e.g. multiple DDI states are currently mapped by the _DDI_ implementation to _RUNNING_ state. It is possible that in the future _hawkBit_ will fully leverage these additional states. | ||
This is kept in order to ensure that _DDI_ stays compatible for devices out there in the field. A future version "2" of _DDI_ might change that. _DDI_ also defines more states than the update server, e.g. multiple DDI states are currently mapped by the _DDI_ implementation to _RUNNING_ state. It is possible that in the future hawkBit will fully leverage these additional states. | ||
|
||
The _DDI_ API allows the device to provide the following feedback messages: | ||
|
||
DDI `status.execution` type | handling by update server | Mapped ActionStatus type | ||
--------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ||
CANCELED | This is send by the target as confirmation of a cancelation request by the update server. | CANCELED | ||
REJECTED | This is send by the target in case an update of a cancelation is rejected, i.e. cannot be fulfilled at this point in time. Note: the target should send a CLOSED->ERROR if it believes it will not be able to proceed the action at all. | WARNING | ||
CANCELED | This is send by the target as confirmation of a cancellation request by the update server. | CANCELED | ||
REJECTED | This is send by the target in case an update of a cancellation is rejected, i.e. cannot be fulfilled at this point in time. Note: the target should send a CLOSED->ERROR if it believes it will not be able to proceed the action at all. | WARNING | ||
CLOSED | Target completes the action either with `status.result.finished` SUCCESS or FAILURE as result. Note: DDI defines also a status NONE which will not be interpreted by the update server and handled like SUCCESS. | ERROR (DDI FAILURE) or FINISHED (DDI SUCCESS or NONE) | ||
PROCEEDING | This can be used by the target to inform that it is working on the action. | RUNNING | ||
SCHEDULED | This can be used by the target to inform that it scheduled on the action. | RUNNING | ||
RESUMED | This can be used by the target to inform that it continued to work on the action. | RUNNING | ||
|
||
# Resource Overview | ||
|
||
<iframe src="../../rest-api/rootcontroller-api-guide.html"></iframe> | ||
<iframe width="100%" height="800px" frameborder="0" src="../../rest-api/rootcontroller-api-guide/"></iframe> |
Oops, something went wrong.