Software Engineer (#dotnet, #angular, #flutter, #typescript, #dart, #golang, #docker, #kubernetes), very interested in Software Architecture and Methodology (#ddd, #tdd, #cleancode, #agile), proud father of two girls and drummer and Linux (Fedora) user

https://novaloop.social/@magbeat

  • 22 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle























  • 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