Use WebDomain as fallback redis prefix if none is set explicitly

This commit is contained in:
Laura Hausmann 2024-01-28 18:55:21 +01:00
parent a88612bc18
commit 242d01583f
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
2 changed files with 11 additions and 7 deletions

View file

@ -70,16 +70,18 @@ public static class ServiceExtensions {
}
public static void AddRedis(this IServiceCollection services, IConfiguration configuration) {
var config = configuration.GetSection("Redis").Get<Config.RedisSection>();
if (config == null) throw new Exception("Failed to initialize redis: Failed to load configuration");
var instance = configuration.GetSection("Instance").Get<Config.InstanceSection>();
var redis = configuration.GetSection("Redis").Get<Config.RedisSection>();
if (redis == null || instance == null)
throw new Exception("Failed to initialize redis: Failed to load configuration");
services.AddStackExchangeRedisCache(options => {
options.InstanceName = config.Prefix + ":";
options.InstanceName = redis.Prefix ?? instance.WebDomain + ":";
options.ConfigurationOptions = new ConfigurationOptions {
User = config.Username,
Password = config.Password,
DefaultDatabase = config.Database,
User = redis.Username,
Password = redis.Password,
DefaultDatabase = redis.Database,
EndPoints = new EndPointCollection {
{ config.Host, config.Port }
{ redis.Host, redis.Port }
}
};
});

View file

@ -1,5 +1,7 @@
[Instance]
ListenPort = 3000
;; Caution: changing these settings after initial setup *will* break federation
WebDomain = shrimp.example.org
AccountDomain = example.org