Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker compose array environment settings not set for appsettings.json section

I am using a docker compose file to set the appsettings.json array section with enviornment variables as below:

AppSettings.json section

---
"PluginManager": {      
      "Plugins": [
        {
          "Service": "TestPlugin",          
          "NugetRepository": {
            "Url": "",
            "NugetKey": "",
            "NugetValue": ""
          },
          "Package": {
            "Name": "SamplePackage",
            "Version": "1.0.0"
          }
        }        
      ]
    },
---

Docker compose file:

- PluginManager__Plugins__0__ServiceId=TestService_1
- PluginManager__Plugins__0__SubServiceId=
- PluginManager__Plugins__0__NugetRepository_Url=https://nugetUrl
- PluginManager__Plugins__0__NugetRepository_Username=username
- PluginManager__Plugins__0__NugetRepository_Password=Password
- PluginManager__Plugins__0__Package_Name=TestPackage
- PluginManager__Plugins__0__Package_Version=1.0.0

- PluginManager__Plugins__1__ServiceId=TestService_2
- PluginManager__Plugins__1__SubServiceId=
- PluginManager__Plugins__1__NugetRepository_Url=https://nugetUrl
- PluginManager__Plugins__1__NugetRepository_Username=username
- PluginManager__Plugins__1__NugetRepository_Password=Password
- PluginManager__Plugins__1__Package_Name=TestPackage
- PluginManager__Plugins__1__Package_Version=1.0.3

I wanted to pass one or more these array blocks dynamically. Currently I am unable to pass these dynamic environment values. These are getting ignored. Is there a way to achieve this without changing my appsettings.json structure?

like image 532
AmrutRayabagi Avatar asked Sep 02 '26 22:09

AmrutRayabagi


1 Answers

Problem was with the _(Single Underscore) charecters. Updated config follows:

  • PluginManager__Plugins__0__ServiceId=TestService_1

  • PluginManager__Plugins__0__SubServiceId=

  • PluginManager__Plugins__0__NugetRepository__Url=https://nugetUrl

  • PluginManager__Plugins__0__NugetRepository__Username=username

  • PluginManager__Plugins__0__NugetRepository__Password=Password

  • PluginManager__Plugins__0__Package__Name=TestPackage

  • PluginManager__Plugins__0__Package__Version=1.0.0

  • PluginManager__Plugins__1__ServiceId=TestService_2

  • PluginManager__Plugins__1__SubServiceId=

  • PluginManager__Plugins__1__NugetRepository__Url=https://nugetUrl

  • PluginManager__Plugins__1__NugetRepository__Username=username

  • PluginManager__Plugins__1__NugetRepository__Password=Password

  • PluginManager__Plugins__1__Package__Name=TestPackage

  • PluginManager__Plugins__1__Package__Version=1.0.3

like image 76
AmrutRayabagi Avatar answered Sep 05 '26 11:09

AmrutRayabagi



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!