mirror of
https://github.com/bitwarden/server.git
synced 2025-06-08 04:00:31 -05:00
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
using System.Reflection;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
namespace Bit.Core.Utilities;
|
|
|
|
public static class HostBuilderExtensions
|
|
{
|
|
public static IHostBuilder ConfigureCustomAppConfiguration(this IHostBuilder hostBuilder, string[] args)
|
|
{
|
|
// Reload app configuration with SelfHosted overrides.
|
|
return hostBuilder.ConfigureAppConfiguration((hostingContext, config) =>
|
|
{
|
|
if (Environment.GetEnvironmentVariable("globalSettings__selfHosted")?.ToLower() != "true")
|
|
{
|
|
return;
|
|
}
|
|
|
|
var env = hostingContext.HostingEnvironment;
|
|
|
|
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
|
|
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
|
|
.AddJsonFile("appsettings.SelfHosted.json", optional: true, reloadOnChange: true);
|
|
|
|
if (env.IsDevelopment())
|
|
{
|
|
var appAssembly = Assembly.Load(new AssemblyName(env.ApplicationName));
|
|
if (appAssembly != null)
|
|
{
|
|
config.AddUserSecrets(appAssembly, optional: true);
|
|
}
|
|
}
|
|
|
|
config.AddEnvironmentVariables();
|
|
|
|
if (args != null)
|
|
{
|
|
config.AddCommandLine(args);
|
|
}
|
|
});
|
|
}
|
|
}
|