See here for Azure
See here for GCP
For deployment flexibility configuration is loaded at runtime from any of the following locations in the following precedence:
- Environment Variables
- Application Environment JSON file
- Application JSON file
- An optional secrets JSON file
- An optional JSON file that could be stored on a flexvolume
Config names are case-insensitive and later configuration sources overwrite earlier ones
Due to inherent differences in cloud providers the supplied configuration will change. For any cloud provider there will be general config and cloud specific config.
As appsettings.json:
{
"StorageFolder": "workfiles",
"QueueName": "workqueue"
}
As Environment Variables:
$ export StorageFolder="workfiles"
$ export QueueName="workqueue"
> $env:StorageFolder="workfiles"
> $env:QueueName="workqueue"
As appsettings.json:
{
"cloud": "azure",
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "localhost",
"TenantId": "",
"ClientId": "",
"CallbackPath": "/signin-oidc"
},
"AzureStorageAcountName" : ""
}
As Environment Variables:
$ export cloud="azure"
$ export AzureAd__Insance="https://login.microsoftonline.com/"
$ export AzureAd__Domain="localhost"
$ export AzureAd__TenantId=""
$ export AzureAd__ClientId=""
$ export AzureAd__CallbackPath="/signin-oidc"
$ export AzureStorageAccountName=""
> $env:cloud="azure"
> $env:AzureAd__Insance="https://login.microsoftonline.com/"
> $env:AzureAd__Domain="localhost"
> $env:AzureAd__TenantId=""
> $env:AzureAd__ClientId=""
> $env:AzureAd__CallbackPath="/signin-oidc"
> $env:AzureStorageAccountName=""
As appsettings.json:
{
"cloud": "gcp",
"ProjectID": "",
"GoogleAuthenticationClientId": "",
"GoogleAuthenticationClientSecret": ""
}
As Environment Variables:
$ export cloud="gcp"
$ export ProjectID=""
$ export GoogleAuthenticationClientId=""
$ export GoogleAuthenticationClientSecret=""
> $env:cloud="gcp"
> $env:ProjectID=""
> $env:GoogleAuthenticationClientId=""
> $env:GoogleAuthenticationClientSecret=""