add username for redis

This commit is contained in:
ginuerzh
2024-09-25 22:05:19 +08:00
parent e22aa91571
commit dfb6cb95d0
12 changed files with 35 additions and 0 deletions
+2
View File
@@ -186,6 +186,7 @@ type FileLoader struct {
type RedisLoader struct { type RedisLoader struct {
Addr string `json:"addr"` Addr string `json:"addr"`
DB int `yaml:",omitempty" json:"db,omitempty"` DB int `yaml:",omitempty" json:"db,omitempty"`
Username string `yaml:",omitempty" json:"username,omitempty"`
Password string `yaml:",omitempty" json:"password,omitempty"` Password string `yaml:",omitempty" json:"password,omitempty"`
Key string `yaml:",omitempty" json:"key,omitempty"` Key string `yaml:",omitempty" json:"key,omitempty"`
Type string `yaml:",omitempty" json:"type,omitempty"` Type string `yaml:",omitempty" json:"type,omitempty"`
@@ -293,6 +294,7 @@ type HTTPRecorder struct {
type RedisRecorder struct { type RedisRecorder struct {
Addr string `json:"addr"` Addr string `json:"addr"`
DB int `yaml:",omitempty" json:"db,omitempty"` DB int `yaml:",omitempty" json:"db,omitempty"`
Username string `yaml:",omitempty" json:"username,omitempty"`
Password string `yaml:",omitempty" json:"password,omitempty"` Password string `yaml:",omitempty" json:"password,omitempty"`
Key string `yaml:",omitempty" json:"key,omitempty"` Key string `yaml:",omitempty" json:"key,omitempty"`
Type string `yaml:",omitempty" json:"type,omitempty"` Type string `yaml:",omitempty" json:"type,omitempty"`
+1
View File
@@ -59,6 +59,7 @@ func ParseAdmission(cfg *config.AdmissionConfig) admission.Admission {
opts = append(opts, xadmission.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xadmission.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+1
View File
@@ -67,6 +67,7 @@ func ParseAuther(cfg *config.AutherConfig) auth.Authenticator {
opts = append(opts, xauth.RedisLoaderOption(loader.RedisHashLoader( opts = append(opts, xauth.RedisLoaderOption(loader.RedisHashLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+1
View File
@@ -59,6 +59,7 @@ func ParseBypass(cfg *config.BypassConfig) bypass.Bypass {
opts = append(opts, xbypass.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xbypass.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+1
View File
@@ -130,6 +130,7 @@ func ParseHop(cfg *config.HopConfig, log logger.Logger) (hop.Hop, error) {
opts = append(opts, xhop.RedisLoaderOption(loader.RedisStringLoader( opts = append(opts, xhop.RedisLoaderOption(loader.RedisStringLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+2
View File
@@ -75,6 +75,7 @@ func ParseHostMapper(cfg *config.HostsConfig) hosts.HostMapper {
opts = append(opts, xhosts.RedisLoaderOption(loader.RedisListLoader( opts = append(opts, xhosts.RedisLoaderOption(loader.RedisListLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -82,6 +83,7 @@ func ParseHostMapper(cfg *config.HostsConfig) hosts.HostMapper {
opts = append(opts, xhosts.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xhosts.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+2
View File
@@ -70,6 +70,7 @@ func ParseIngress(cfg *config.IngressConfig) ingress.Ingress {
opts = append(opts, xingress.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xingress.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -77,6 +78,7 @@ func ParseIngress(cfg *config.IngressConfig) ingress.Ingress {
opts = append(opts, xingress.RedisLoaderOption(loader.RedisHashLoader( opts = append(opts, xingress.RedisLoaderOption(loader.RedisHashLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+6
View File
@@ -57,6 +57,7 @@ func ParseTrafficLimiter(cfg *config.LimiterConfig) (lim traffic.TrafficLimiter)
opts = append(opts, xtraffic.RedisLoaderOption(loader.RedisListLoader( opts = append(opts, xtraffic.RedisLoaderOption(loader.RedisListLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -64,6 +65,7 @@ func ParseTrafficLimiter(cfg *config.LimiterConfig) (lim traffic.TrafficLimiter)
opts = append(opts, xtraffic.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xtraffic.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -103,6 +105,7 @@ func ParseConnLimiter(cfg *config.LimiterConfig) (lim conn.ConnLimiter) {
opts = append(opts, xconn.RedisLoaderOption(loader.RedisListLoader( opts = append(opts, xconn.RedisLoaderOption(loader.RedisListLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -110,6 +113,7 @@ func ParseConnLimiter(cfg *config.LimiterConfig) (lim conn.ConnLimiter) {
opts = append(opts, xconn.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xconn.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -149,6 +153,7 @@ func ParseRateLimiter(cfg *config.LimiterConfig) (lim rate.RateLimiter) {
opts = append(opts, xrate.RedisLoaderOption(loader.RedisListLoader( opts = append(opts, xrate.RedisLoaderOption(loader.RedisListLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -156,6 +161,7 @@ func ParseRateLimiter(cfg *config.LimiterConfig) (lim rate.RateLimiter) {
opts = append(opts, xrate.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xrate.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+3
View File
@@ -70,18 +70,21 @@ func ParseRecorder(cfg *config.RecorderConfig) (r recorder.Recorder) {
return xrecorder.RedisListRecorder(cfg.Redis.Addr, return xrecorder.RedisListRecorder(cfg.Redis.Addr,
xrecorder.DBRedisRecorderOption(cfg.Redis.DB), xrecorder.DBRedisRecorderOption(cfg.Redis.DB),
xrecorder.KeyRedisRecorderOption(cfg.Redis.Key), xrecorder.KeyRedisRecorderOption(cfg.Redis.Key),
xrecorder.UsernameRedisRecorderOption(cfg.Redis.Username),
xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password), xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password),
) )
case "sset": // sorted set case "sset": // sorted set
return xrecorder.RedisSortedSetRecorder(cfg.Redis.Addr, return xrecorder.RedisSortedSetRecorder(cfg.Redis.Addr,
xrecorder.DBRedisRecorderOption(cfg.Redis.DB), xrecorder.DBRedisRecorderOption(cfg.Redis.DB),
xrecorder.KeyRedisRecorderOption(cfg.Redis.Key), xrecorder.KeyRedisRecorderOption(cfg.Redis.Key),
xrecorder.UsernameRedisRecorderOption(cfg.Redis.Username),
xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password), xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password),
) )
default: // redis set default: // redis set
return xrecorder.RedisSetRecorder(cfg.Redis.Addr, return xrecorder.RedisSetRecorder(cfg.Redis.Addr,
xrecorder.DBRedisRecorderOption(cfg.Redis.DB), xrecorder.DBRedisRecorderOption(cfg.Redis.DB),
xrecorder.KeyRedisRecorderOption(cfg.Redis.Key), xrecorder.KeyRedisRecorderOption(cfg.Redis.Key),
xrecorder.UsernameRedisRecorderOption(cfg.Redis.Username),
xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password), xrecorder.PasswordRedisRecorderOption(cfg.Redis.Password),
) )
} }
+3
View File
@@ -76,6 +76,7 @@ func ParseRouter(cfg *config.RouterConfig) router.Router {
opts = append(opts, xrouter.RedisLoaderOption(loader.RedisListLoader( opts = append(opts, xrouter.RedisLoaderOption(loader.RedisListLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -83,6 +84,7 @@ func ParseRouter(cfg *config.RouterConfig) router.Router {
opts = append(opts, xrouter.RedisLoaderOption(loader.RedisSetLoader( opts = append(opts, xrouter.RedisLoaderOption(loader.RedisSetLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
@@ -90,6 +92,7 @@ func ParseRouter(cfg *config.RouterConfig) router.Router {
opts = append(opts, xrouter.RedisLoaderOption(loader.RedisHashLoader( opts = append(opts, xrouter.RedisLoaderOption(loader.RedisHashLoader(
cfg.Redis.Addr, cfg.Redis.Addr,
loader.DBRedisLoaderOption(cfg.Redis.DB), loader.DBRedisLoaderOption(cfg.Redis.DB),
loader.UsernameRedisLoaderOption(cfg.Redis.Username),
loader.PasswordRedisLoaderOption(cfg.Redis.Password), loader.PasswordRedisLoaderOption(cfg.Redis.Password),
loader.KeyRedisLoaderOption(cfg.Redis.Key), loader.KeyRedisLoaderOption(cfg.Redis.Key),
))) )))
+7
View File
@@ -16,6 +16,7 @@ const (
type redisLoaderOptions struct { type redisLoaderOptions struct {
db int db int
username string
password string password string
key string key string
} }
@@ -28,6 +29,12 @@ func DBRedisLoaderOption(db int) RedisLoaderOption {
} }
} }
func UsernameRedisLoaderOption(username string) RedisLoaderOption {
return func(opts *redisLoaderOptions) {
opts.username = username
}
}
func PasswordRedisLoaderOption(password string) RedisLoaderOption { func PasswordRedisLoaderOption(password string) RedisLoaderOption {
return func(opts *redisLoaderOptions) { return func(opts *redisLoaderOptions) {
opts.password = password opts.password = password
+6
View File
@@ -9,6 +9,7 @@ import (
type redisRecorderOptions struct { type redisRecorderOptions struct {
db int db int
username string
password string password string
key string key string
} }
@@ -20,6 +21,11 @@ func DBRedisRecorderOption(db int) RedisRecorderOption {
} }
} }
func UsernameRedisRecorderOption(username string) RedisRecorderOption {
return func(opts *redisRecorderOptions) {
opts.username = username
}
}
func PasswordRedisRecorderOption(password string) RedisRecorderOption { func PasswordRedisRecorderOption(password string) RedisRecorderOption {
return func(opts *redisRecorderOptions) { return func(opts *redisRecorderOptions) {
opts.password = password opts.password = password