Hi all! Trying to work with small pet project for myself. So I use few asp net core apps + db in docker and docker compose. And I little confuse about storing configuration (like for logging or db connection etc). Where is best place to store it? Continue use app.json or move .env files (enviroments variables)

I guess .env files more easy to configure f.e. on CI\CD So whatis a better?

6 points

As @nibblebit@programming.dev said you can use multiple configuration providers. We usually have local appsettings.json files, even per machine appsettings.<HOSTNAME>.json and then use Environment Variables that are stored in a vault for the production environment. We add the appsettings.<HOSTNAME>.json files to .gitignore so that they don’t get checked in.

    var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
    configuration.AddJsonFile($"appsettings.{env}.json", optional: true, reloadOnChange: true);
    configuration.AddJsonFile($"appsettings.{Environment.MachineName}.json", optional: true, reloadOnChange: true);
    configuration.AddEnvironmentVariables();

Then you can provide the secrets as environment variables in the form of DATA__ConnectionString

permalink
report
reply
5 points

Using DI you can register multiple configuration providers with different priorities. What’s common is to have an local.appsetting.json for development and have production setup with environment variables. But you can use any combination of providers.

permalink
report
reply
1 point

If using containerise, then use the system env, don’t use appsettings json.

permalink
report
reply

C Sharp

!csharp@programming.dev

Create post

A community about the C# programming language

Getting started

Useful resources

IDEs and code editors

Tools

Rules

  • Rule 1: Follow Lemmy rules
  • Rule 2: Be excellent to each other, no hostility towards users for any reason
  • Rule 3: No spam of tools/companies/advertisements

Related communities

Community stats

  • 68

    Monthly active users

  • 92

    Posts

  • 217

    Comments