[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)
|
public static IConfigurationBuilder AddCustomConfiguration(this IConfigurationBuilder configuration)
|
||||||
{
|
{
|
||||||
return configuration.AddIniFile(Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG") ?? "configuration.ini",
|
var main = Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG") ?? "configuration.ini";
|
||||||
false, true)
|
var overrides = Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG_OVERRIDES") ??
|
||||||
.AddIniFile(Environment.GetEnvironmentVariable("ICESHRIMP_CONFIG_OVERRIDES") ?? "configuration.overrides.ini",
|
"configuration.overrides.ini";
|
||||||
true, true);
|
|
||||||
|
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 Iceshrimp.Backend.Core.Services;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.Extensions.Configuration.Ini;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using WebPush;
|
using WebPush;
|
||||||
|
|
||||||
|
@ -73,6 +74,10 @@ public static class WebApplicationExtensions
|
||||||
await using var scope = app.Services.CreateAsyncScope();
|
await using var scope = app.Services.CreateAsyncScope();
|
||||||
var provider = scope.ServiceProvider;
|
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
|
try
|
||||||
{
|
{
|
||||||
app.Logger.LogInformation("Validating configuration...");
|
app.Logger.LogInformation("Validating configuration...");
|
||||||
|
@ -101,7 +106,7 @@ public static class WebApplicationExtensions
|
||||||
app.Logger.LogInformation("Verifying database connection...");
|
app.Logger.LogInformation("Verifying database connection...");
|
||||||
if (!await db.Database.CanConnectAsync())
|
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);
|
Environment.Exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue