diff --git a/agent/app/dto/database.go b/agent/app/dto/database.go index 3f1ca975f..17b71402b 100644 --- a/agent/app/dto/database.go +++ b/agent/app/dto/database.go @@ -4,14 +4,14 @@ import "time" // common type DBConfUpdateByFile struct { - Type string `json:"type" validate:"required,oneof=mysql mariadb postgresql redis mysql-cluster postgresql-cluster"` + Type string `json:"type" validate:"required,oneof=mysql mariadb postgresql redis mysql-cluster postgresql-cluster redis-cluster"` Database string `json:"database" validate:"required"` File string `json:"file"` } type ChangeDBInfo struct { ID uint `json:"id"` From string `json:"from" validate:"required,oneof=local remote"` - Type string `json:"type" validate:"required,oneof=mysql mariadb postgresql mysql-cluster postgresql-cluster"` + Type string `json:"type" validate:"required,oneof=mysql mariadb postgresql mysql-cluster postgresql-cluster redis-cluster"` Database string `json:"database" validate:"required"` Value string `json:"value" validate:"required"` } diff --git a/agent/app/service/app_install.go b/agent/app/service/app_install.go index e736fc06a..721359436 100644 --- a/agent/app/service/app_install.go +++ b/agent/app/service/app_install.go @@ -672,7 +672,7 @@ func (a *AppInstallService) GetDefaultConfigByKey(key, name string) (string, err if key == constant.AppMysql || key == constant.AppMariaDB || key == constant.AppMysqlCluster { filePath = path.Join(filePath, "my.cnf") } - if key == constant.AppRedis { + if key == constant.AppRedis || key == constant.AppRedisCluster { filePath = path.Join(filePath, "redis.conf") } if key == constant.AppOpenresty { diff --git a/agent/app/service/database_common.go b/agent/app/service/database_common.go index 34d54d485..cf7b5d25d 100644 --- a/agent/app/service/database_common.go +++ b/agent/app/service/database_common.go @@ -74,11 +74,11 @@ func (u *DBCommonService) UpdateConfByFile(req dto.DBConfUpdateByFile) error { } path := "" switch req.Type { - case constant.AppMariaDB, constant.AppMysql: + case constant.AppMariaDB, constant.AppMysql, constant.AppMysqlCluster: path = fmt.Sprintf("%s/%s/%s/conf/my.cnf", global.Dir.AppInstallDir, req.Type, app.Name) - case constant.AppPostgresql: + case constant.AppPostgresql, constant.AppPostgresqlCluster: path = fmt.Sprintf("%s/%s/%s/data/postgresql.conf", global.Dir.AppInstallDir, req.Type, app.Name) - case constant.AppRedis: + case constant.AppRedis, constant.AppRedisCluster: path = fmt.Sprintf("%s/%s/%s/conf/redis.conf", global.Dir.AppInstallDir, req.Type, app.Name) } file, err := os.OpenFile(path, os.O_WRONLY|os.O_TRUNC, 0640) diff --git a/agent/app/service/database_redis.go b/agent/app/service/database_redis.go index 46b916b4b..d076ffba2 100644 --- a/agent/app/service/database_redis.go +++ b/agent/app/service/database_redis.go @@ -53,7 +53,7 @@ func (u *RedisService) UpdateConf(req dto.RedisConfUpdate) error { if err := confSet(redisInfo.Name, req.DBType, "", confs); err != nil { return err } - if _, err := compose.Restart(fmt.Sprintf("%s/redis/%s/docker-compose.yml", global.Dir.AppInstallDir, redisInfo.Name)); err != nil { + if _, err := compose.Restart(fmt.Sprintf("%s/%s/%s/docker-compose.yml", global.Dir.AppInstallDir, req.DBType, redisInfo.Name)); err != nil { return err } diff --git a/frontend/src/api/interface/database.ts b/frontend/src/api/interface/database.ts index f1f92285b..aca068d84 100644 --- a/frontend/src/api/interface/database.ts +++ b/frontend/src/api/interface/database.ts @@ -221,6 +221,7 @@ export namespace Database { // redis export interface RedisConfUpdate { + dbType: string; database: string; timeout: string; maxclients: string; diff --git a/frontend/src/views/database/postgresql/setting/index.vue b/frontend/src/views/database/postgresql/setting/index.vue index 38e51eae4..02d16e207 100644 --- a/frontend/src/views/database/postgresql/setting/index.vue +++ b/frontend/src/views/database/postgresql/setting/index.vue @@ -28,7 +28,7 @@