Skip to content

Add support for redis cluster #11979

Open
@the-veloper

Description

@the-veloper

Scope & Context

When deploying twenty on a modern cloud stack, i want to be able to use a (managed) redis cluster instance with the CRM.

Current behavior

If i were to use just a single node redis deployment - twenty works fine. if i use a redis cluster i get:

NotFoundError: Workspace not found
    at new BaseGraphQLError (/app/packages/twenty-server/dist/src/engine/core-modules/graphql/utils/graphql-errors.util.js:86:9)
    at new NotFoundError (/app/packages/twenty-server/dist/src/engine/core-modules/graphql/utils/graphql-errors.util.js:170:9)
    at workspaceGraphqlApiExceptionHandler (/app/packages/twenty-server/dist/src/engine/core-modules/workspace/utils/workspace-graphql-api-exception-handler.util.js:18:23)
    at WorkspaceResolver.getPublicWorkspaceDataByDomain (/app/packages/twenty-server/dist/src/engine/core-modules/workspace/workspace.resolver.js:219:94)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Exception Captured
  { user: undefined, workspace: undefined }
  [ [ErrorReply: MOVED 2087 10.42.5.248:6379] ]
Exception Captured
  { user: undefined, workspace: undefined }
  [ [ErrorReply: MOVED 2087 10.42.5.248:6379] ]
Exception Captured
  { user: undefined, workspace: undefined }
  [ [ErrorReply: MOVED 2087 10.42.5.248:6379] ]
Exception Captured
  { user: undefined, workspace: undefined }
  [ [ErrorReply: MOVED 2087 10.42.5.248:6379] ]
Exception Captured
  { user: undefined, workspace: undefined }

which is expected, because the cluster is redirecting to a specific redis node, where the data is located..

Expected behavior

Expected behavior is that the app doesn't crash.

Technical inputs

I assume some extra params to the node-redis package have to be passed and some new environment vaiable to be introduced to indicate that the twenty deployment will be using a redis cluster as a cache target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    🔖 Planned

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions