diff --git a/packages/client-proxy/main.go b/packages/client-proxy/main.go index 070f68889c..58b2a71bf0 100644 --- a/packages/client-proxy/main.go +++ b/packages/client-proxy/main.go @@ -124,14 +124,9 @@ func run() int { }() catalog = e2bcatalog.NewRedisSandboxCatalog(redisClient) } else { - if !errors.Is(err, factories.ErrRedisDisabled) { - l.Error(ctx, "Failed to create redis client", zap.Error(err)) + l.Error(ctx, "Failed to create redis client", zap.Error(err)) - return 1 - } - - l.Warn(ctx, "Redis environment variable is not set, will fallback to in-memory sandboxes catalog that works only with one instance setup") - catalog = e2bcatalog.NewMemorySandboxesCatalog() + return 1 } info := &internal.ServiceInfo{} diff --git a/packages/orchestrator/pkg/factories/run.go b/packages/orchestrator/pkg/factories/run.go index 0a07b39e7d..7361f7b53c 100644 --- a/packages/orchestrator/pkg/factories/run.go +++ b/packages/orchestrator/pkg/factories/run.go @@ -383,17 +383,17 @@ func run(config cfg.Config, opts Options) (success bool) { RedisTLSCABase64: config.RedisTLSCABase64, PoolSize: config.RedisPoolSize, }) - if err != nil && !errors.Is(err, sharedFactories.ErrRedisDisabled) { - logger.L().Fatal(ctx, "Could not connect to Redis", zap.Error(err)) - } else if err == nil { - closers = append(closers, closer{"redis client", func(context.Context) error { - return sharedFactories.CloseCleanly(redisClient) - }}) + if err != nil { + logger.L().Fatal(ctx, "Failed to create redis client", zap.Error(err)) } + closers = append(closers, closer{"redis client", func(context.Context) error { + return sharedFactories.CloseCleanly(redisClient) + }}) + peerRegistry := peerclient.NopRegistry() peerResolver := peerclient.NopResolver() - if nodeAddress := config.NodeAddress(); redisClient != nil && nodeAddress != nil { + if nodeAddress := config.NodeAddress(); nodeAddress != nil { peerRegistry = peerclient.NewRedisRegistry(redisClient, *nodeAddress) peerResolver = peerclient.NewResolver(peerRegistry, *nodeAddress) } @@ -453,11 +453,9 @@ func run(config cfg.Config, opts Options) (success bool) { logger.L().Info(ctx, "cgroup accounting enabled", zap.String("root", cgroup.RootCgroupPath)) // Redis sandbox events delivery target - if redisClient != nil { - sbxEventsDeliveryRedis := event.NewRedisStreamsDelivery[event.SandboxEvent](redisClient, event.SandboxEventsStreamName) - sbxEventsDeliveryTargets = append(sbxEventsDeliveryTargets, sbxEventsDeliveryRedis) - closers = append(closers, closer{"sandbox events delivery for redis", sbxEventsDeliveryRedis.Close}) - } + sbxEventsDeliveryRedis := event.NewRedisStreamsDelivery[event.SandboxEvent](redisClient, event.SandboxEventsStreamName) + sbxEventsDeliveryTargets = append(sbxEventsDeliveryTargets, sbxEventsDeliveryRedis) + closers = append(closers, closer{"sandbox events delivery for redis", sbxEventsDeliveryRedis.Close}) // sandbox observer sandboxObserver, err := metrics.NewSandboxObserver(ctx, nodeID, serviceName, commitSHA, version, serviceInstanceID, sandboxes) diff --git a/packages/shared/pkg/factories/redis.go b/packages/shared/pkg/factories/redis.go index b49f97e254..fe1082cb9d 100644 --- a/packages/shared/pkg/factories/redis.go +++ b/packages/shared/pkg/factories/redis.go @@ -16,7 +16,7 @@ import ( "github.com/e2b-dev/infra/packages/shared/pkg/logger" ) -var ErrRedisDisabled = errors.New("redis is disabled") +var ErrRedisUnconfigured = errors.New("redis is not configured") type RedisConfig struct { RedisURL string @@ -97,7 +97,7 @@ func NewRedisClient(ctx context.Context, config RedisConfig) (redis.UniversalCli redisClient = redis.NewClient(opts) default: - return nil, ErrRedisDisabled + return nil, ErrRedisUnconfigured } // Enable tracing