sentinelPortEnvVariableValue({}),
sentinelMasterNameEnvVariableName(SENTINEL_MASTER_NAME_ENV_VAR_NAME),
sentinelMasterNameEnvVariableValue({}),
+ dbClusterAddrListEnvVariableName(DB_CLUSTER_ADDR_LIST_ENV_VAR_NAME),
+ dbClusterAddrListEnvVariableValue({}),
jsonDatabaseConfiguration(boost::none),
logger(logger)
{
envStr = system.getenv(sentinelMasterNameEnvVariableName.c_str());
if (envStr)
sentinelMasterNameEnvVariableValue = envStr;
+ envStr = system.getenv(dbClusterAddrListEnvVariableName.c_str());
+ if (envStr)
+ dbClusterAddrListEnvVariableValue = envStr;
}
readConfigurationFromDirectories(directories);
}
else
{
- validateAndSetDbType("redis-sentinel", databaseConfiguration, sourceForDatabaseConfiguration);
+ if (dbClusterAddrListEnvVariableValue.empty())
+ validateAndSetDbType("redis-sentinel", databaseConfiguration, sourceForDatabaseConfiguration);
+ else {
+ validateAndSetDbType("sdl-cluster", databaseConfiguration, sourceForDatabaseConfiguration);
+ parseDatabaseServersConfigurationFromString(databaseConfiguration,
+ dbClusterAddrListEnvVariableValue,
+ dbClusterAddrListEnvVariableName);
+ }
databaseConfiguration.checkAndApplySentinelAddress(dbHostEnvVariableValue + ":" + sentinelPortEnvVariableValue);
databaseConfiguration.checkAndApplySentinelMasterName(sentinelMasterNameEnvVariableValue);
}