mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
[DataDB] Add support for redis with TLS connection ( + integration test ) fixes #2435
This commit is contained in:
committed by
Dan Christian Bogos
parent
79469d9987
commit
f1c823761b
@@ -65,6 +65,10 @@ var (
|
||||
"The delay before executing the commands if the redis cluster is in the CLUSTERDOWN state")
|
||||
dbQueryTimeout = cgrLoaderFlags.String("query_timeout", utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.QueryTimeoutCfg]),
|
||||
"The timeout for queries")
|
||||
dbRedisTls = cgrLoaderFlags.Bool(utils.RedisTLS, false, "Use a tls connection when connecting to redis")
|
||||
dbRedisClientCertificate = cgrLoaderFlags.String(utils.RedisClientCertificate, utils.EmptyString, "Path to the client certificate")
|
||||
dbRedisClientKey = cgrLoaderFlags.String(utils.RedisClientKey, utils.EmptyString, "Path to the client key")
|
||||
dbRedisCACertificate = cgrLoaderFlags.String(utils.RedisCACertificate, utils.EmptyString, "Path to the CA certificate")
|
||||
|
||||
storDBType = cgrLoaderFlags.String("stordb_type", dfltCfg.StorDbCfg().Type,
|
||||
"The type of the storDb database <*mysql|*postgres|*mongo>")
|
||||
@@ -162,6 +166,20 @@ func loadConfig() (ldrCfg *config.CGRConfig) {
|
||||
ldrCfg.DataDbCfg().Opts[utils.QueryTimeoutCfg] = *dbQueryTimeout
|
||||
}
|
||||
|
||||
rdsTLS, _ := utils.IfaceAsBool(dfltCfg.DataDbCfg().Opts[utils.RedisTLS])
|
||||
if *dbRedisTls != rdsTLS {
|
||||
ldrCfg.DataDbCfg().Opts[utils.RedisTLS] = *dbRedisTls
|
||||
}
|
||||
if *dbRedisClientCertificate != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisClientCertificate]) {
|
||||
ldrCfg.DataDbCfg().Opts[utils.RedisClientCertificate] = *dbRedisClientCertificate
|
||||
}
|
||||
if *dbRedisClientKey != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisClientKey]) {
|
||||
ldrCfg.DataDbCfg().Opts[utils.RedisClientKey] = *dbRedisClientKey
|
||||
}
|
||||
if *dbRedisCACertificate != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisCACertificate]) {
|
||||
ldrCfg.DataDbCfg().Opts[utils.RedisCACertificate] = *dbRedisCACertificate
|
||||
}
|
||||
|
||||
if *dbDataEncoding != dfltCfg.GeneralCfg().DBDataEncoding {
|
||||
ldrCfg.GeneralCfg().DBDataEncoding = *dbDataEncoding
|
||||
}
|
||||
|
||||
@@ -62,6 +62,10 @@ func TestLoadConfig(t *testing.T) {
|
||||
utils.RedisClusterSyncCfg: "5s",
|
||||
utils.RedisClusterOnDownDelayCfg: "0",
|
||||
utils.RedisClusterCfg: false,
|
||||
utils.RedisTLS: false,
|
||||
utils.RedisClientCertificate: "",
|
||||
utils.RedisClientKey: "",
|
||||
utils.RedisCACertificate: "",
|
||||
},
|
||||
RmtConns: []string{},
|
||||
RplConns: []string{},
|
||||
|
||||
@@ -73,6 +73,10 @@ var (
|
||||
"The delay before executing the commands if the redis cluster is in the CLUSTERDOWN state")
|
||||
dbQueryTimeout = cgrMigratorFlags.String("query_timeout", utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.QueryTimeoutCfg]),
|
||||
"The timeout for queries")
|
||||
dbRedisTls = cgrMigratorFlags.Bool(utils.RedisTLS, false, "Use a tls connection when connecting to redis")
|
||||
dbRedisClientCertificate = cgrMigratorFlags.String(utils.RedisClientCertificate, utils.EmptyString, "Path to the client certificate")
|
||||
dbRedisClientKey = cgrMigratorFlags.String(utils.RedisClientKey, utils.EmptyString, "Path to the client key")
|
||||
dbRedisCACertificate = cgrMigratorFlags.String(utils.RedisCACertificate, utils.EmptyString, "Path to the CA certificate")
|
||||
|
||||
outDataDBType = cgrMigratorFlags.String("out_datadb_type", utils.MetaDataDB,
|
||||
"output DataDB type <*redis|*mongo>")
|
||||
@@ -182,6 +186,20 @@ func main() {
|
||||
mgrCfg.DataDbCfg().Opts[utils.QueryTimeoutCfg] = *dbQueryTimeout
|
||||
}
|
||||
|
||||
rdsTLS, _ := utils.IfaceAsBool(dfltCfg.DataDbCfg().Opts[utils.RedisTLS])
|
||||
if *dbRedisTls != rdsTLS {
|
||||
mgrCfg.DataDbCfg().Opts[utils.RedisTLS] = *dbRedisTls
|
||||
}
|
||||
if *dbRedisClientCertificate != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisClientCertificate]) {
|
||||
mgrCfg.DataDbCfg().Opts[utils.RedisClientCertificate] = *dbRedisClientCertificate
|
||||
}
|
||||
if *dbRedisClientKey != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisClientKey]) {
|
||||
mgrCfg.DataDbCfg().Opts[utils.RedisClientKey] = *dbRedisClientKey
|
||||
}
|
||||
if *dbRedisCACertificate != utils.IfaceAsString(dfltCfg.DataDbCfg().Opts[utils.RedisCACertificate]) {
|
||||
mgrCfg.DataDbCfg().Opts[utils.RedisCACertificate] = *dbRedisCACertificate
|
||||
}
|
||||
|
||||
// outDataDB
|
||||
if *outDataDBType == utils.MetaDataDB {
|
||||
if dfltCfg.MigratorCgrCfg().OutDataDBType == mgrCfg.MigratorCgrCfg().OutDataDBType {
|
||||
|
||||
Reference in New Issue
Block a user