dave-t-c/LiveTramsMCR.API

Prod no longer imports the expected API options after changing to user configuration bind

Closed this issue · 1 comments

Azure app service can no longer find the expected args after changing to import the options into a ApiOptions instance

After further investigation, it appears that Azure App Service is not importing the sections from secrets as is expected. This appears to be because the setting used has been moved from "key" to "ApiOptions:Key".

As it is hosted on Linux, azure tries to change the json by changing the ":" into a double underscore ("__"). What this appears to mean is the configuration bind cannot find the section, as it does not exist. The nested json change is mentioned here.

This appears to then have a knock on that nested secrets don't seem to be importable as they end up being treated as environment variables and therefore lose the expected structure.

As a work around to this, the ApiOptions instance will need to have the values added manually.

It would be preferable in the long term to move to azure value key stores.