Skip to content

Commit

Permalink
Add AWS documentation page and move Azure to dedicated page (#1961)
Browse files Browse the repository at this point in the history
* add AWS and Azure tabs in the documentation

* doc tabs uodated

* AWS architecture image added

* Doc -> AWS settings updated
  • Loading branch information
ssgueye2 authored and kbeaugrand committed Jun 26, 2023
1 parent ffc788d commit 9fbd4d5
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 0 deletions.
33 changes: 33 additions & 0 deletions docs/aws.md
Original file line number Diff line number Diff line change
@@ -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": "<CONNECTION_STRING_S3_STORAGE>",
"OIDC:Scope": "<SCOPE>",
"OIDC:MetadataUrl": "<METADATA_URL>",
"OIDC:ClientId": "<CLIENT_ID>",
"OIDC:Authority": "<AUTHORITY>",
"OIDC:ApiClientId": "<API_CLIENT_ID>",
"PostgreSQL:ConnectionString": "<POSTGRE_SQL_CONNECTION_STRING>",
"AWS:Access": "<AWS_ACCESS_KEY>",
"AWS:AccessSecret": "<AWS_ACCESS_SECRET_KEY>",
"AWS:Region": "<AWS_REGION_KEY>"
}
```
> <u>Note:</u> 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.
55 changes: 55 additions & 0 deletions docs/azure.md
Original file line number Diff line number Diff line change
@@ -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": "<CONNECTION_STRING_STORAGE_ACCOUNT>",
"StorageAccount:BlobContainerName": "<BLOB_CONTAINER_NAME>",
"OIDC:Scope": "<SCOPE>",
"OIDC:MetadataUrl": "<METADATA_URL>",
"OIDC:ClientId": "<CLIENT_ID>",
"OIDC:Authority": "<AUTHORITY>",
"OIDC:ApiClientId": "<API_CLIENT_ID>",
"LoRaRegionRouterConfig:Url": "<LORA_WAN_ROUTER_CONFIGURATION_URL>",
"LoRaKeyManagement:Url": "<LORA_WAN_KEY_MANAGEMENT_URL>",
"LoRaKeyManagement:Code": "<LORA_WAN_KEY_MANAGEMENT_CODE>",
"LoRaFeature:Enabled": "<TRUE_OR_FALSE>",
"Kestrel:Certificates:Development:Password": "<DEV_PASSWORD>",
"IoTHub:ConnectionString": "<IOT_HUB_CONNECTION_STRING>",
"IoTHub:EventHub:Endpoint": "<IOT_HUB_EVENT_HUB_ENDPOINT>",
"IoTHub:EventHub:ConsumerGroup": "<IOT_HUB_EVENT_HUB_CONSUMER_GROUP>",
"IoTDPS:ServiceEndpoint": "<SERVICE_END_POINT>",
"IoTDPS:LoRaEnrollmentGroup": "<LORA_WAN_ENROLLMENT_GROUP>",
"IoTDPS:DefaultEnrollmentGroup": "<LORA_WAN_DEFAULT_ENROLLMENT_GROUP>",
"IoTDPS:ConnectionString": "<IOT_DPS_CONNECTION_STRING>",
"PostgreSQL:ConnectionString": "<POSTGRE_SQL_CONNECTION_STRING>"
}
```

> <u>Note:</u> 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 !
Binary file added docs/images/architecture_AWS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ extra:
# Navigation
nav:
- index.md
- AWS: 'aws.md'
- Azure: 'azure.md'
- Dev Guide:
- 'Developer Guide': 'dev-guide.md'
- 'Testing':
Expand Down

0 comments on commit 9fbd4d5

Please sign in to comment.