fix: migrate to valkey with sentinel

This commit is contained in:
devthejo 2025-10-20 22:38:23 +02:00
parent 8d93390466
commit e6507349aa
No known key found for this signature in database
GPG key ID: 00CCA7A92B1D5351
3 changed files with 125 additions and 35 deletions

View file

@ -25,30 +25,66 @@ modjo({
redisQueueDedup: {
pluginName: "ioredis",
context: (ctx) => {
const redisConfig = {
host: process.env.REDIS_QUEUE_DEDUP_HOST,
port: process.env.REDIS_QUEUE_DEDUP_PORT || "6379",
username: process.env.REDIS_QUEUE_DEDUP_USERNAME || "default",
password: process.env.REDIS_QUEUE_DEDUP_PASSWORD,
db: process.env.REDIS_QUEUE_DEDUP_DB || "0",
}
// Add Sentinel configuration if provided
if (
process.env.REDIS_QUEUE_DEDUP_SENTINELS &&
process.env.REDIS_QUEUE_DEDUP_SENTINEL_MASTER
) {
const sentinelEndpoints =
process.env.REDIS_QUEUE_DEDUP_SENTINELS.split(",")
redisConfig.sentinel = {
sentinels: sentinelEndpoints.map((endpoint) => {
const [host, port] = endpoint.trim().split(":")
return { host, port: parseInt(port, 10) || 26379 }
}),
name: process.env.REDIS_QUEUE_DEDUP_SENTINEL_MASTER,
}
}
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.REDIS_QUEUE_DEDUP_HOST,
port: process.env.REDIS_QUEUE_DEDUP_PORT || "6379",
username: process.env.REDIS_QUEUE_DEDUP_USERNAME || "default",
password: process.env.REDIS_QUEUE_DEDUP_PASSWORD,
db: process.env.REDIS_QUEUE_DEDUP_DB || "0",
},
redis: redisConfig,
})
},
},
redisHotGeodata: {
pluginName: "ioredis",
context: (ctx) => {
const redisConfig = {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
}
// Add Sentinel configuration if provided
if (
process.env.REDIS_HOT_GEODATA_SENTINELS &&
process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER
) {
const sentinelEndpoints =
process.env.REDIS_HOT_GEODATA_SENTINELS.split(",")
redisConfig.sentinel = {
sentinels: sentinelEndpoints.map((endpoint) => {
const [host, port] = endpoint.trim().split(":")
return { host, port: parseInt(port, 10) || 26379 }
}),
name: process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER,
}
}
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
},
redis: redisConfig,
})
},
},

View file

@ -49,30 +49,66 @@ modjo({
redisHotGeodata: {
pluginName: "ioredis",
context: (ctx) => {
const redisConfig = {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
}
// Add Sentinel configuration if provided
if (
process.env.REDIS_HOT_GEODATA_SENTINELS &&
process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER
) {
const sentinelEndpoints =
process.env.REDIS_HOT_GEODATA_SENTINELS.split(",")
redisConfig.sentinel = {
sentinels: sentinelEndpoints.map((endpoint) => {
const [host, port] = endpoint.trim().split(":")
return { host, port: parseInt(port, 10) || 26379 }
}),
name: process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER,
}
}
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
},
redis: redisConfig,
})
},
},
redisQueueDedup: {
pluginName: "ioredis",
context: (ctx) => {
const redisConfig = {
host: process.env.REDIS_QUEUE_DEDUP_HOST,
port: process.env.REDIS_QUEUE_DEDUP_PORT || "6379",
username: process.env.REDIS_QUEUE_DEDUP_USERNAME || "default",
password: process.env.REDIS_QUEUE_DEDUP_PASSWORD,
db: process.env.REDIS_QUEUE_DEDUP_DB || "0",
}
// Add Sentinel configuration if provided
if (
process.env.REDIS_QUEUE_DEDUP_SENTINELS &&
process.env.REDIS_QUEUE_DEDUP_SENTINEL_MASTER
) {
const sentinelEndpoints =
process.env.REDIS_QUEUE_DEDUP_SENTINELS.split(",")
redisConfig.sentinel = {
sentinels: sentinelEndpoints.map((endpoint) => {
const [host, port] = endpoint.trim().split(":")
return { host, port: parseInt(port, 10) || 26379 }
}),
name: process.env.REDIS_QUEUE_DEDUP_SENTINEL_MASTER,
}
}
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.REDIS_QUEUE_DEDUP_HOST,
port: process.env.REDIS_QUEUE_DEDUP_PORT || "6379",
username: process.env.REDIS_QUEUE_DEDUP_USERNAME || "default",
password: process.env.REDIS_QUEUE_DEDUP_PASSWORD,
db: process.env.REDIS_QUEUE_DEDUP_DB || "0",
},
redis: redisConfig,
})
},
},

View file

@ -27,15 +27,33 @@ modjo({
redisHotGeodata: {
pluginName: "ioredis",
context: (ctx) => {
const redisConfig = {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
}
// Add Sentinel configuration if provided
if (
process.env.REDIS_HOT_GEODATA_SENTINELS &&
process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER
) {
const sentinelEndpoints =
process.env.REDIS_HOT_GEODATA_SENTINELS.split(",")
redisConfig.sentinel = {
sentinels: sentinelEndpoints.map((endpoint) => {
const [host, port] = endpoint.trim().split(":")
return { host, port: parseInt(port, 10) || 26379 }
}),
name: process.env.REDIS_HOT_GEODATA_SENTINEL_MASTER,
}
}
ctx.set("config", {
...ctx.get("config"),
redis: {
host: process.env.REDIS_HOT_GEODATA_HOST,
port: process.env.REDIS_HOT_GEODATA_PORT || "6379",
username: process.env.REDIS_HOT_GEODATA_USERNAME || "default",
password: process.env.REDIS_HOT_GEODATA_PASSWORD,
db: process.env.REDIS_HOT_GEODATA_DB || "0",
},
redis: redisConfig,
})
},
},