From 3838e6a78efb977586fb65280342c97f9a46c8e4 Mon Sep 17 00:00:00 2001 From: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> Date: Tue, 9 Jun 2026 19:52:23 +0530 Subject: [PATCH 1/5] Update SentinelAddrs to support multiple addresses Signed-off-by: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> --- pkg/redis/client.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/redis/client.go b/pkg/redis/client.go index a0f3b8ee24..4087dbfdd9 100644 --- a/pkg/redis/client.go +++ b/pkg/redis/client.go @@ -57,9 +57,14 @@ func NewClient(o Options, opts ...Option) (*redis.Client, error) { // Initialize Redis Client var client *redis.Client if o.Sentinel.Enabled { + // Address may be a comma-separated list of sentinel nodes. + sentinelAddrs := strings.Split(o.Address, ",") + for i, a := range sentinelAddrs { + sentinelAddrs[i] = strings.TrimSpace(a) + } client = redis.NewFailoverClient(&redis.FailoverOptions{ MasterName: o.Sentinel.MasterName, - SentinelAddrs: []string{o.Address}, + SentinelAddrs: sentinelAddrs, DB: o.Database, Username: o.Username, Password: o.Password, From 20110f6a212e1555c149f92b11399f26e0015bf0 Mon Sep 17 00:00:00 2001 From: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> Date: Tue, 9 Jun 2026 19:54:08 +0530 Subject: [PATCH 2/5] Fix typo in consumerGroupId to consumerGroupID Signed-off-by: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> --- app/config/sink.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/sink.go b/app/config/sink.go index e14f74484f..4b305af4ba 100644 --- a/app/config/sink.go +++ b/app/config/sink.go @@ -176,5 +176,5 @@ func ConfigureSink(v *viper.Viper) { ConfigureKafkaConfiguration(v, "sink") // Override Kafka configuration defaults - v.SetDefault("sink.kafka.consumerGroupId", "openmeter-sink-worker") + v.SetDefault("sink.kafka.consumerGroupID", "openmeter-sink-worker") } From d331837102193601efe8054b6512dc0915944570 Mon Sep 17 00:00:00 2001 From: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> Date: Tue, 9 Jun 2026 19:59:18 +0530 Subject: [PATCH 3/5] Add StringToBasicTypeHookFunc to Viper config Signed-off-by: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> --- app/config/viper.go | 1 + 1 file changed, 1 insertion(+) diff --git a/app/config/viper.go b/app/config/viper.go index e8c4f9f60e..327c4ab8ca 100644 --- a/app/config/viper.go +++ b/app/config/viper.go @@ -11,6 +11,7 @@ func DecodeHook() mapstructure.DecodeHookFunc { mapstructure.TextUnmarshallerHookFunc(), mapstructure.StringToTimeDurationHookFunc(), mapstructure.StringToSliceHookFunc(","), + mapstructure.StringToBasicTypeHookFunc(), ) } From 560b95b0bc38f626e6bd09a41c28c950665282d8 Mon Sep 17 00:00:00 2001 From: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> Date: Tue, 9 Jun 2026 20:45:01 +0530 Subject: [PATCH 4/5] Add missing strings import to client.go Signed-off-by: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> --- pkg/redis/client.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/redis/client.go b/pkg/redis/client.go index 4087dbfdd9..4ccb284383 100644 --- a/pkg/redis/client.go +++ b/pkg/redis/client.go @@ -3,6 +3,7 @@ package redis import ( "crypto/tls" "fmt" + "strings" "github.com/redis/go-redis/extra/redisotel/v9" "github.com/redis/go-redis/v9" From 658ad9db451f3bf1f5853a00b131f6f8c58d0967 Mon Sep 17 00:00:00 2001 From: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> Date: Tue, 9 Jun 2026 21:27:02 +0530 Subject: [PATCH 5/5] Refactor ReadDir method and update path handling filepath.Join uses the OS path separator (\ on Windows), which breaks fs.FS implementations that require forward-slash paths per the io/fs spec. Replace with path.Join which always uses /. Signed-off-by: vsengar-79 <146079793+vsengar-79@users.noreply.github.com> --- tools/migrate/fs.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/migrate/fs.go b/tools/migrate/fs.go index b7a7a4c65a..177573b448 100644 --- a/tools/migrate/fs.go +++ b/tools/migrate/fs.go @@ -4,7 +4,7 @@ import ( "bufio" "bytes" "io/fs" - "path/filepath" + "path" "strings" ) @@ -29,15 +29,15 @@ func (s *SourceWrapper) Open(name string) (fs.File, error) { return s.fsys.Open(name) } -func (s *SourceWrapper) ReadDir(path string) ([]fs.DirEntry, error) { - entries, err := fs.ReadDir(s.fsys, path) +func (s *SourceWrapper) ReadDir(dir string) ([]fs.DirEntry, error) { + entries, err := fs.ReadDir(s.fsys, dir) if err != nil { return nil, err } results := make([]fs.DirEntry, 0, len(entries)) for _, entry := range entries { - filePath := filepath.Join(path, entry.Name()) + filePath := path.Join(dir, entry.Name()) if entry.IsDir() { r, err := s.ReadDir(filePath)