@@ -43,6 +43,7 @@ const portIterator = (async function* (): AsyncIterableIterator<number> {
43
43
interface RedisServerDockerConfig {
44
44
image : string ;
45
45
version : string ;
46
+ env ?: Map < string , string > ;
46
47
}
47
48
48
49
interface SentinelConfig {
@@ -63,7 +64,7 @@ export interface RedisServerDocker {
63
64
}
64
65
65
66
async function spawnRedisServerDocker (
66
- options : RedisServerDockerOptions , serverArguments : Array < string > , dockerEnv ?: Map < string , string > ) : Promise < RedisServerDocker > {
67
+ options : RedisServerDockerOptions , serverArguments : Array < string > ) : Promise < RedisServerDocker > {
67
68
let port ;
68
69
if ( options . mode == "sentinel" ) {
69
70
port = options . port ;
@@ -85,7 +86,7 @@ options: RedisServerDockerOptions, serverArguments: Array<string>, dockerEnv?: M
85
86
} ) ;
86
87
}
87
88
88
- dockerEnv ?. forEach ( ( key : string , value : string ) => {
89
+ options . env ?. forEach ( ( key : string , value : string ) => {
89
90
dockerArgs . push ( '-e' , `${ key } :${ value } ` ) ;
90
91
} ) ;
91
92
@@ -339,21 +340,23 @@ export async function spawnRedisSentinel(
339
340
return runningNodes ;
340
341
}
341
342
342
- const dockerEnv : Map < string , string > = new Map ( ) ;
343
+ if ( ! dockerConfigs . env ) {
344
+ dockerConfigs . env = new Map ( ) ;
345
+ }
343
346
344
347
if ( password !== undefined ) {
345
- dockerEnv . set ( "REDIS_PASSWORD" , password ) ;
348
+ dockerConfigs . env . set ( "REDIS_PASSWORD" , password ) ;
346
349
serverArguments . push ( "--requirepass" , password )
347
350
}
348
351
349
- const master = await spawnRedisServerDocker ( dockerConfigs , serverArguments , dockerEnv ) ;
352
+ const master = await spawnRedisServerDocker ( dockerConfigs , serverArguments ) ;
350
353
const redisNodes : Array < RedisServerDocker > = [ master ] ;
351
354
const replicaPromises : Array < Promise < RedisServerDocker > > = [ ] ;
352
355
353
356
const replicasCount = 2 ;
354
357
for ( let i = 0 ; i < replicasCount ; i ++ ) {
355
358
replicaPromises . push ( ( async ( ) => {
356
- const replica = await spawnRedisServerDocker ( dockerConfigs , serverArguments , dockerEnv ) ;
359
+ const replica = await spawnRedisServerDocker ( dockerConfigs , serverArguments ) ;
357
360
const client = createClient ( {
358
361
socket : {
359
362
port : replica . port
@@ -407,7 +410,7 @@ sentinel failover-timeout mymaster 6000
407
410
mode : "sentinel" ,
408
411
mounts : [ `${ dir } /redis.conf:/redis/config/node-sentinel-1/redis.conf` ] ,
409
412
port : port ,
410
- } , serverArguments , dockerEnv ) ;
413
+ } , serverArguments ) ;
411
414
} ) ( ) ) ;
412
415
}
413
416
0 commit comments