Prerequisites
Generate Bosch IoT Gateway Software image
Build Docker image
Go to the folder where Dockerfile is located and push the image to the registry.
Deploy Bosch IoT Gateway Software on the Edge device
Configure to establish the connection to the IoT Hub and Edge runtime
The user have to provide configuration information to establish the connection to the Azure IoT Hub and Edge runtime. There are three system properties:
There are two ways to specify these system properties. From the Azure portal and from default.prs binvms/<vm_name> in the runtime installation.
If you would like to use the Azure IoT Integration without setting up an Azure IoT Edge device, Bosch IoT Gateway can communicate with Azure IoT Hub. In such case, these system properties need to be added in the default.prs binvms/<vm_name> in the runtime installation.
From the Azure portal
Configure the deployment manifest. Open the Container Create Options and provide the following JSON
{
"Env": [
"VM_ARGS=-Dmbs.azure.iot.connectionString=<IoT_Hub_Connection_String> -Dmbs.azure.iot.edge.gatewayHostname=<Gateway_HostName> -Dmbs.azure.iot.edge.pathToCertificate=<Path_To_Sertificate>"
],
"Mounts": [
{
"Type": "bind",
"Source": "<path_to_the_directory_on_the_Docker_daemon_host>",
"Destination": "<path_to_the_directory_mounted_in_the_container>",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"NetworkingConfig": {
"EndpointsConfig": {
"host": {}
}
},
"HostConfig": {
"Privileged": true,
"NetworkMode": "host",
"Binds": [
"<path_to_the_directory_on_the_Docker_daemon_host>:<path_to_the_directory_mounted_in_the_container>"
]
}
}
Configure Bosch IoT Gateway Software network services
To provide access to the Telnet and Web Admin Console functionality the user needs to bind the container ports to the host port. The JSON object in the form { <port>/<protocol>: [{"HostPort": "<port>"}]}. The Telnet port is 23. The Web Admin Console uses the default HTTP port 80.