From e42c2cf87c926dfc95d4447ad12af82ac9913b19 Mon Sep 17 00:00:00 2001 From: petunsewangdt Date: Mon, 19 Jan 2026 19:14:48 +0900 Subject: [PATCH 1/2] =?UTF-8?q?KR-29115=20=E6=B7=BB=E5=8A=A0aws=20s3?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/rpc/third/third.go | 3 +++ server/tools/check-component/main.go | 30 ++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/server/internal/rpc/third/third.go b/server/internal/rpc/third/third.go index bc251ebd0..1b3094b4a 100644 --- a/server/internal/rpc/third/third.go +++ b/server/internal/rpc/third/third.go @@ -30,6 +30,7 @@ import ( "github.com/openimsdk/tools/db/redisutil" "github.com/openimsdk/tools/discovery" "github.com/openimsdk/tools/s3" + "github.com/openimsdk/tools/s3/aws" "github.com/openimsdk/tools/s3/cos" "github.com/openimsdk/tools/s3/kodo" "github.com/openimsdk/tools/s3/minio" @@ -90,6 +91,8 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg o, err = oss.NewOSS(*config.RpcConfig.Object.Oss.Build()) case "kodo": o, err = kodo.NewKodo(*config.RpcConfig.Object.Kodo.Build()) + case "aws": + o, err = aws.NewAWS(*config.RpcConfig.Object.Aws.Build()) default: err = fmt.Errorf("invalid object enable: %s", enable) } diff --git a/server/tools/check-component/main.go b/server/tools/check-component/main.go index cb1fb2a33..c7cbbe271 100644 --- a/server/tools/check-component/main.go +++ b/server/tools/check-component/main.go @@ -31,6 +31,7 @@ import ( "github.com/openimsdk/tools/db/redisutil" "github.com/openimsdk/tools/discovery/etcd" "github.com/openimsdk/tools/discovery/zookeeper" + "github.com/openimsdk/tools/s3/aws" "github.com/openimsdk/tools/s3/minio" "github.com/openimsdk/tools/system/program" ) @@ -65,16 +66,21 @@ func CheckMinIO(ctx context.Context, config *config.Minio) error { return minio.Check(ctx, config.Build()) } +func CheckAWS(ctx context.Context, config *config.Aws) error { + return aws.Check(ctx, config.Build()) +} + func CheckKafka(ctx context.Context, conf *config.Kafka) error { return kafka.CheckHealth(ctx, conf.Build()) } -func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, *config.Minio, *config.Discovery, error) { +func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, *config.Minio, *config.Aws, *config.Discovery, error) { var ( mongoConfig = &config.Mongo{} redisConfig = &config.Redis{} kafkaConfig = &config.Kafka{} minioConfig = &config.Minio{} + awsConfig = &config.Aws{} discovery = &config.Discovery{} thirdConfig = &config.Third{} ) @@ -95,22 +101,25 @@ func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, err = config.LoadConfig(filepath.Join(configDir, cmd.OpenIMRPCThirdCfgFileName), cmd.ConfigEnvPrefixMap[cmd.OpenIMRPCThirdCfgFileName], thirdConfig) if err != nil { - return nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, nil, err } if thirdConfig.Object.Enable == "minio" { err = config.LoadConfig(filepath.Join(configDir, cmd.MinioConfigFileName), cmd.ConfigEnvPrefixMap[cmd.MinioConfigFileName], minioConfig) if err != nil { - return nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, nil, err } + } else if thirdConfig.Object.Enable == "aws" { + awsConfig = &thirdConfig.Object.Aws } else { minioConfig = nil + awsConfig = nil } err = config.LoadConfig(filepath.Join(configDir, cmd.DiscoveryConfigFilename), cmd.ConfigEnvPrefixMap[cmd.DiscoveryConfigFilename], discovery) if err != nil { - return nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, nil, err } - return mongoConfig, redisConfig, kafkaConfig, minioConfig, discovery, nil + return mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, discovery, nil } func main() { @@ -123,13 +132,13 @@ func main() { fmt.Printf("%s Index: %d, Config Path: %s\n", filepath.Base(os.Args[0]), index, configDir) - mongoConfig, redisConfig, kafkaConfig, minioConfig, zookeeperConfig, err := initConfig(configDir) + mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, zookeeperConfig, err := initConfig(configDir) if err != nil { program.ExitWithError(err) } ctx := context.Background() - err = performChecks(ctx, mongoConfig, redisConfig, kafkaConfig, minioConfig, zookeeperConfig, maxRetry) + err = performChecks(ctx, mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, zookeeperConfig, maxRetry) if err != nil { // Assume program.ExitWithError logs the error and exits. // Replace with your error handling logic as necessary. @@ -137,7 +146,7 @@ func main() { } } -func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig *config.Redis, kafkaConfig *config.Kafka, minioConfig *config.Minio, discovery *config.Discovery, maxRetry int) error { +func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig *config.Redis, kafkaConfig *config.Kafka, minioConfig *config.Minio, awsConfig *config.Aws, discovery *config.Discovery, maxRetry int) error { checksDone := make(map[string]bool) checks := map[string]func(ctx context.Context) error{ @@ -156,6 +165,11 @@ func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig * return CheckMinIO(ctx, minioConfig) } } + if awsConfig != nil { + checks["AWS"] = func(ctx context.Context) error { + return CheckAWS(ctx, awsConfig) + } + } if discovery.Enable == "etcd" { checks["Etcd"] = func(ctx context.Context) error { return CheckEtcd(ctx, &discovery.Etcd) From 4829ad37bc87fdfd513ca0ec2b85dd38552237cb Mon Sep 17 00:00:00 2001 From: petunsewangdt Date: Tue, 20 Jan 2026 19:30:03 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=9D=E7=95=9974=E7=9A=84=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=B9=9F=E6=98=AF=E6=B2=A1=E6=9C=89=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/internal/rpc/third/third.go | 2 +- server/tools/check-component/main.go | 30 ++++++++-------------------- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/server/internal/rpc/third/third.go b/server/internal/rpc/third/third.go index 1b3094b4a..fca2b24bb 100644 --- a/server/internal/rpc/third/third.go +++ b/server/internal/rpc/third/third.go @@ -92,7 +92,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg case "kodo": o, err = kodo.NewKodo(*config.RpcConfig.Object.Kodo.Build()) case "aws": - o, err = aws.NewAWS(*config.RpcConfig.Object.Aws.Build()) + o, err = aws.NewAws(*config.RpcConfig.Object.Aws.Build()) default: err = fmt.Errorf("invalid object enable: %s", enable) } diff --git a/server/tools/check-component/main.go b/server/tools/check-component/main.go index c7cbbe271..cb1fb2a33 100644 --- a/server/tools/check-component/main.go +++ b/server/tools/check-component/main.go @@ -31,7 +31,6 @@ import ( "github.com/openimsdk/tools/db/redisutil" "github.com/openimsdk/tools/discovery/etcd" "github.com/openimsdk/tools/discovery/zookeeper" - "github.com/openimsdk/tools/s3/aws" "github.com/openimsdk/tools/s3/minio" "github.com/openimsdk/tools/system/program" ) @@ -66,21 +65,16 @@ func CheckMinIO(ctx context.Context, config *config.Minio) error { return minio.Check(ctx, config.Build()) } -func CheckAWS(ctx context.Context, config *config.Aws) error { - return aws.Check(ctx, config.Build()) -} - func CheckKafka(ctx context.Context, conf *config.Kafka) error { return kafka.CheckHealth(ctx, conf.Build()) } -func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, *config.Minio, *config.Aws, *config.Discovery, error) { +func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, *config.Minio, *config.Discovery, error) { var ( mongoConfig = &config.Mongo{} redisConfig = &config.Redis{} kafkaConfig = &config.Kafka{} minioConfig = &config.Minio{} - awsConfig = &config.Aws{} discovery = &config.Discovery{} thirdConfig = &config.Third{} ) @@ -101,25 +95,22 @@ func initConfig(configDir string) (*config.Mongo, *config.Redis, *config.Kafka, err = config.LoadConfig(filepath.Join(configDir, cmd.OpenIMRPCThirdCfgFileName), cmd.ConfigEnvPrefixMap[cmd.OpenIMRPCThirdCfgFileName], thirdConfig) if err != nil { - return nil, nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, err } if thirdConfig.Object.Enable == "minio" { err = config.LoadConfig(filepath.Join(configDir, cmd.MinioConfigFileName), cmd.ConfigEnvPrefixMap[cmd.MinioConfigFileName], minioConfig) if err != nil { - return nil, nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, err } - } else if thirdConfig.Object.Enable == "aws" { - awsConfig = &thirdConfig.Object.Aws } else { minioConfig = nil - awsConfig = nil } err = config.LoadConfig(filepath.Join(configDir, cmd.DiscoveryConfigFilename), cmd.ConfigEnvPrefixMap[cmd.DiscoveryConfigFilename], discovery) if err != nil { - return nil, nil, nil, nil, nil, nil, err + return nil, nil, nil, nil, nil, err } - return mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, discovery, nil + return mongoConfig, redisConfig, kafkaConfig, minioConfig, discovery, nil } func main() { @@ -132,13 +123,13 @@ func main() { fmt.Printf("%s Index: %d, Config Path: %s\n", filepath.Base(os.Args[0]), index, configDir) - mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, zookeeperConfig, err := initConfig(configDir) + mongoConfig, redisConfig, kafkaConfig, minioConfig, zookeeperConfig, err := initConfig(configDir) if err != nil { program.ExitWithError(err) } ctx := context.Background() - err = performChecks(ctx, mongoConfig, redisConfig, kafkaConfig, minioConfig, awsConfig, zookeeperConfig, maxRetry) + err = performChecks(ctx, mongoConfig, redisConfig, kafkaConfig, minioConfig, zookeeperConfig, maxRetry) if err != nil { // Assume program.ExitWithError logs the error and exits. // Replace with your error handling logic as necessary. @@ -146,7 +137,7 @@ func main() { } } -func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig *config.Redis, kafkaConfig *config.Kafka, minioConfig *config.Minio, awsConfig *config.Aws, discovery *config.Discovery, maxRetry int) error { +func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig *config.Redis, kafkaConfig *config.Kafka, minioConfig *config.Minio, discovery *config.Discovery, maxRetry int) error { checksDone := make(map[string]bool) checks := map[string]func(ctx context.Context) error{ @@ -165,11 +156,6 @@ func performChecks(ctx context.Context, mongoConfig *config.Mongo, redisConfig * return CheckMinIO(ctx, minioConfig) } } - if awsConfig != nil { - checks["AWS"] = func(ctx context.Context) error { - return CheckAWS(ctx, awsConfig) - } - } if discovery.Enable == "etcd" { checks["Etcd"] = func(ctx context.Context) error { return CheckEtcd(ctx, &discovery.Etcd)