magbeat
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
- 22 Posts
- 2 Comments
Joined 2 years ago
Cake day: June 30th, 2023
You are not logged in. If you use a Fediverse account that is able to follow users, you can follow this user.
As @nibblebit@programming.dev said you can use multiple configuration providers. We usually have local
appsettings.json
files, even per machineappsettings.<HOSTNAME>.json
and then use Environment Variables that are stored in a vault for the production environment. We add theappsettings.<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
When you are developing a UI library (as we are) we want to support the old API for some time and mark is a
deprecated
. So one would add a second@Input()
of typeScheduleEvent[]
leave the old API be asCourse[]
and mark it as deprecated. In the next major version you could then retire the old API.