Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AWS documentation page and move Azure to dedicated page #1961

Merged
merged 4 commits into from
Mar 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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