diff --git a/docs/aws.md b/docs/aws.md new file mode 100644 index 000000000..cd2516a1e --- /dev/null +++ b/docs/aws.md @@ -0,0 +1,33 @@ +# AWS configurations + +## Overall Architecture + +This schema represent the various components and how they interact to have a better understanding of the various solution elements. + +![images/architecture_AWS.png](images/architecture_AWS.png) + +1. The user is authenticated by the OpenID Connect server. +1. The user access to the IoT Hub Portal with the OAuth2.0 token. +1. The IoT Hub portal uses the AWS IoT REST API to retrieve the data. +1. The IoT Hub portal uses the AWS S3 storage to store the device models configuration (Images, Commands, etc.). +1. The IoT Hub portal synchronizes its data with the IoT Hub to provide a consistent view of the data. + + +## Configurations +This configurations are used to get access to AWS cloud Platform. You have to enter them in a `json` file to be able to connect to the Iot Hub Portal. Here is a template of a such `json` file. +```json +{ + "CloudProvider": "AWS", + "S3Storage:ConnectionString": "", + "OIDC:Scope": "", + "OIDC:MetadataUrl": "", + "OIDC:ClientId": "", + "OIDC:Authority": "", + "OIDC:ApiClientId": "", + "PostgreSQL:ConnectionString": "", + "AWS:Access": "", + "AWS:AccessSecret": "", + "AWS:Region": "" +} +``` +> Note: You must replace all values in the brackets by your own AWS settings. If you can't find them in the AWS Portal, please contact an administrator of this project to have more information. \ No newline at end of file diff --git a/docs/azure.md b/docs/azure.md new file mode 100644 index 000000000..eb6662a7d --- /dev/null +++ b/docs/azure.md @@ -0,0 +1,55 @@ +# Azure Configurations + +## Overall Architecture + +This schema represent the various components and how they interact to have a better understanding of the various solution elements. + +![images/overall-architecture.png](images/overall-architecture.png) + +1. The user is authenticated by the OpenID Connect server. +1. The user access to the IoT Hub Portal with the OAuth2.0 token. +1. The IoT Hub portal uses the Azure IoT Hub REST API to retrieve the data. +1. The IoT Hub portal uses the Azure Device Provisioning Service to manage IoT Edge devices. +1. The IoT Hub portal uses the Azure Storage account to store the device models configuration (Images, Commands, etc.). +1. The IoT Hub portal uses the LoRa Key Management Facade to send Cloud to Device (C2D) messages to LoRa devices. +1. The LoRa Key Management Facade uses Redis to store its cached data. +1. The LoRa Key Management Facade uses the Azure IoT Hub REST API to retrieve the LoRa device keys and send C2D messages. +1. The IoT Hub portal synchronizes its data with the IoT Hub to provide a consistent view of the data. + +> Note: For more information about the LoRa Key Management Facade, see the [Azure IoT Edge LoRaWAN Starter Kit](https://azure.github.io/iotedge-lorawan-starterkit) page. + +## Configurations/Secrets + +_Secrets_ are used to fill in the login credentials to the cloud platform. You have to enter them in a `json` file to be able to connect to the IoT Hub Portal. Here is a template of a such `json` file : + +```json +{ + "CloudProvider": "Azure", + "StorageAccount:ConnectionString": "", + "StorageAccount:BlobContainerName": "", + "OIDC:Scope": "", + "OIDC:MetadataUrl": "", + "OIDC:ClientId": "", + "OIDC:Authority": "", + "OIDC:ApiClientId": "", + "LoRaRegionRouterConfig:Url": "", + "LoRaKeyManagement:Url": "", + "LoRaKeyManagement:Code": "", + "LoRaFeature:Enabled": "", + "Kestrel:Certificates:Development:Password": "", + "IoTHub:ConnectionString": "", + "IoTHub:EventHub:Endpoint": "", + "IoTHub:EventHub:ConsumerGroup": "", + "IoTDPS:ServiceEndpoint": "", + "IoTDPS:LoRaEnrollmentGroup": "", + "IoTDPS:DefaultEnrollmentGroup": "", + "IoTDPS:ConnectionString": "", + "PostgreSQL:ConnectionString": "" +} +``` + +> Note: You must replace all values in the brackets by your own Azure settings. If you can't find them in the Azure Portal, please contact an administrator of this project to have more information. + +This `json` file must be added into your project solution. To do that, click on the `AzureIoTHub.Server` project in Visual Studio and select `Manage User Secrets` from the context menu. You can now add your secrets inside this file. + +You are now ready to start your IoT Hub Portal development ! diff --git a/docs/images/architecture_AWS.png b/docs/images/architecture_AWS.png new file mode 100644 index 000000000..656e27863 Binary files /dev/null and b/docs/images/architecture_AWS.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 30ebdc820..67b00ee38 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -110,6 +110,8 @@ extra: # Navigation nav: - index.md + - AWS: 'aws.md' + - Azure: 'azure.md' - Dev Guide: - 'Developer Guide': 'dev-guide.md' - 'Testing':