Skip to content

Commit 68571b3

Browse files
committed
feat(redis): add support for specifying username
1 parent aaab827 commit 68571b3

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

diode-server/cmd/ingester/main.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,16 @@ func main() {
6868
os.Exit(1)
6969
}
7070

71-
redisStreamClient := redis.NewClient(&redis.Options{
71+
redisOptions := redis.Options{
7272
Addr: fmt.Sprintf("%s:%s", cfg.RedisHost, cfg.RedisPort),
7373
Password: cfg.RedisPassword,
7474
DB: cfg.RedisStreamDB,
7575
TLSConfig: redisTLSConfig,
76-
})
76+
}
77+
if cfg.RedisUsername != "" {
78+
redisOptions.Username = cfg.RedisUsername
79+
}
80+
redisStreamClient := redis.NewClient(&redisOptions)
7781

7882
if _, err := redisStreamClient.Ping(ctx).Result(); err != nil {
7983
s.Logger().Error("failed to connect to redis stream", "redisStream", redisStreamClient.String(), "error", err)

diode-server/cmd/reconciler/main.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,25 +84,33 @@ func main() {
8484
os.Exit(1)
8585
}
8686

87-
redisClient := redis.NewClient(&redis.Options{
87+
redisOptions := redis.Options{
8888
Addr: fmt.Sprintf("%s:%s", cfg.RedisHost, cfg.RedisPort),
8989
Password: cfg.RedisPassword,
9090
DB: cfg.RedisDB,
9191
TLSConfig: redisTLSConfig,
92-
})
92+
}
93+
if cfg.RedisUsername != "" {
94+
redisOptions.Username = cfg.RedisUsername
95+
}
96+
redisClient := redis.NewClient(&redisOptions)
9397

9498
if _, err := redisClient.Ping(ctx).Result(); err != nil {
9599
s.Logger().Error("failed to connect to redis", "redis", redisClient.String(), "error", err)
96100
metricRecorder.RecordServiceStartupAttempt(ctx, false)
97101
os.Exit(1)
98102
}
99103

100-
redisStreamClient := redis.NewClient(&redis.Options{
104+
redisStreamOptions := redis.Options{
101105
Addr: fmt.Sprintf("%s:%s", cfg.RedisHost, cfg.RedisPort),
102106
Password: cfg.RedisPassword,
103107
DB: cfg.RedisStreamDB,
104108
TLSConfig: redisTLSConfig,
105-
})
109+
}
110+
if cfg.RedisUsername != "" {
111+
redisStreamOptions.Username = cfg.RedisUsername
112+
}
113+
redisStreamClient := redis.NewClient(&redisStreamOptions)
106114

107115
if _, err := redisStreamClient.Ping(ctx).Result(); err != nil {
108116
s.Logger().Error("failed to connect to redis stream", "redisStream", redisStreamClient.String(), "error", err)

diode-server/ingester/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type Config struct {
1010
GRPCPort int `envconfig:"GRPC_PORT" default:"8081"`
1111
RedisHost string `envconfig:"REDIS_HOST" default:"127.0.0.1"`
1212
RedisPort string `envconfig:"REDIS_PORT" default:"6379"`
13+
RedisUsername string `envconfig:"REDIS_USERNAME"`
1314
RedisPassword string `envconfig:"REDIS_PASSWORD" required:"true"`
1415
RedisStreamDB int `envconfig:"REDIS_STREAM_DB" default:"1"`
1516

diode-server/reconciler/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ type Config struct {
1010
GRPCPort int `envconfig:"GRPC_PORT" default:"8081"`
1111
RedisHost string `envconfig:"REDIS_HOST" default:"127.0.0.1"`
1212
RedisPort string `envconfig:"REDIS_PORT" default:"6379"`
13+
RedisUsername string `envconfig:"REDIS_USERNAME"`
1314
RedisPassword string `envconfig:"REDIS_PASSWORD" required:"true"`
1415
RedisDB int `envconfig:"REDIS_DB" default:"0"`
1516
RedisStreamDB int `envconfig:"REDIS_STREAM_DB" default:"1"`

diode-server/reconciler/server.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,16 @@ func NewServer(ctx context.Context, logger *slog.Logger, repository Repository,
3737
return nil, fmt.Errorf("failed to create TLS config for Redis: %v", err)
3838
}
3939

40-
redisClient := redis.NewClient(&redis.Options{
40+
redisOptions := redis.Options{
4141
Addr: fmt.Sprintf("%s:%s", cfg.RedisHost, cfg.RedisPort),
4242
Password: cfg.RedisPassword,
4343
DB: cfg.RedisDB,
4444
TLSConfig: redisTLSConfig,
45-
})
45+
}
46+
if cfg.RedisUsername != "" {
47+
redisOptions.Username = cfg.RedisUsername
48+
}
49+
redisClient := redis.NewClient(&redisOptions)
4650

4751
if _, err := redisClient.Ping(ctx).Result(); err != nil {
4852
return nil, fmt.Errorf("failed connection to %s: %v", redisClient.String(), err)

0 commit comments

Comments
 (0)