Skip to content

feat(workflow): CRDB/Active-Active Setup for Redis Enterprise #266

@joshrotenberg

Description

@joshrotenberg

Overview

Implement a workflow that automates the setup of CRDB (Conflict-free Replicated Database) Active-Active configuration across multiple Redis Enterprise clusters.

Workflow Steps

  1. Validate all participating clusters are ready
  2. Configure network connectivity between clusters
  3. Create CRDB with specified participating clusters
  4. Configure replication endpoints
  5. Set conflict resolution policies
  6. Verify sync status across all clusters
  7. Test cross-cluster replication
  8. Generate topology report

Example Usage

redisctl enterprise workflow crdb-setup \
  --clusters cluster1.example.com,cluster2.example.com,cluster3.example.com \
  --database-name "global-db" \
  --memory-gb 10 \
  --conflict-policy last-write-wins \
  --verify-replication \
  --test-failover \
  --output json

Value Proposition

  • Simplifies complex multi-cluster CRDB setup
  • Handles network configuration between clusters
  • Ensures proper replication configuration
  • Validates sync status before completion
  • Reduces manual configuration errors

Acceptance Criteria

  • Support 2+ clusters
  • Validate cluster connectivity
  • Create CRDB across clusters
  • Configure replication endpoints
  • Set conflict resolution policies
  • Verify sync status
  • Test replication with sample data
  • Handle partial failures gracefully
  • Generate topology documentation
  • Support rollback on failure

Note

We already have extensive CRDB commands implemented (see crates/redisctl/src/commands/enterprise/crdb.rs), so this workflow would orchestrate those existing commands.

Related to #260 (workflow system implementation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestworkflowWorkflow system features

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions