From 55b5c727f83aacb0875a1a05a087d7abddbb7970 Mon Sep 17 00:00:00 2001 From: Ferran Borreguero Date: Fri, 26 Dec 2025 08:45:38 +0100 Subject: [PATCH] Add in-memory redis --- datastore/redis.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/datastore/redis.go b/datastore/redis.go index 58d37a1b..c649bc04 100644 --- a/datastore/redis.go +++ b/datastore/redis.go @@ -9,6 +9,7 @@ import ( "strings" "time" + "github.com/alicebob/miniredis/v2" builderApi "github.com/attestantio/go-builder-client/api" builderApiDeneb "github.com/attestantio/go-builder-client/api/deneb" builderApiFulu "github.com/attestantio/go-builder-client/api/fulu" @@ -45,6 +46,14 @@ var ( ) func connectRedis(redisURI string) (*redis.Client, error) { + if redisURI == ":memory:" { + redisInMemoryServer, err := miniredis.Run() + if err != nil { + return nil, fmt.Errorf("failed to start miniredis: %w", err) + } + redisURI = redisInMemoryServer.Addr() + } + // Handle both URIs and full URLs, assume unencrypted connections if !strings.HasPrefix(redisURI, redisScheme) && !strings.HasPrefix(redisURI, "rediss://") { redisURI = redisScheme + redisURI