[backend/startup] Add debug logging for loaded configuration files & allow configuration via environment variables
This commit is contained in:
parent
699e0237b0
commit
068b318c19
2 changed files with 15 additions and 5 deletions
|
@ -4,9 +4,14 @@ public static class ConfigurationBuilderExtensions
|
|||
{
|
||||
public static IConfigurationBuilder AddCustomConfiguration(this IConfigurationBuilder configuration)
|
||||
{
|
||||
return configuration.AddIniFile(Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG") ?? "configuration.ini",
|
||||
false, true)
|
||||
.AddIniFile(Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG_OVERRIDES") ?? "configuration.overrides.ini",
|
||||
true, true);
|
||||
var main = Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG") ?? "configuration.ini";
|
||||
var overrides = Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG_OVERRIDES") ??
|
||||
"configuration.overrides.ini";
|
||||
|
||||
configuration.AddIniFile(main, false, true)
|
||||
.AddIniFile(overrides, true, true)
|
||||
.AddEnvironmentVariables();
|
||||
|
||||
return configuration;
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ using Iceshrimp.Backend.Core.Middleware;
|
|||
using Iceshrimp.Backend.Core.Services;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.Extensions.Configuration.Ini;
|
||||
using Microsoft.Extensions.Options;
|
||||
using WebPush;
|
||||
|
||||
|
@ -73,6 +74,10 @@ public static class WebApplicationExtensions
|
|||
await using var scope = app.Services.CreateAsyncScope();
|
||||
var provider = scope.ServiceProvider;
|
||||
|
||||
var config = (ConfigurationManager)app.Configuration;
|
||||
var files = config.Sources.OfType<IniConfigurationSource>().Select(p => p.Path);
|
||||
app.Logger.LogDebug("Loaded configuration files: \n* {files}", string.Join("\n* ", files));
|
||||
|
||||
try
|
||||
{
|
||||
app.Logger.LogInformation("Validating configuration...");
|
||||
|
@ -101,7 +106,7 @@ public static class WebApplicationExtensions
|
|||
app.Logger.LogInformation("Verifying database connection...");
|
||||
if (!await db.Database.CanConnectAsync())
|
||||
{
|
||||
app.Logger.LogCritical("Failed to connect to database");
|
||||
app.Logger.LogCritical("Failed to connect to database. Please make sure your configuration is correct.");
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue