I imagine there is some overlap in parts of the logic for Sentinel and repmgr (a similar tool for PostgreSQL). For example, checking to see if members of the cluster are in-service, and choosing a new master in the event of a failover.
I would love to see a generic tool for handing the clustering/failover problem.
It's true there is some overlap, but also Sentinel uses things that are specific of Redis. For instance for us two things are crucial:
1) The ability to use the master as a message bus to auto-discover things. This is possible because every Redis instance is also a Pub/Sub server.
2) The idea that after every restart of every Redis instance we have a "runid" that changes.
And in general the logic of the failover itself, the fact that the failure detection is precise (some specific reply codes are considered in a way, some others in another way), makes a non specific solution much harder to implement with the "methods" to perform the service-specific tasks that may end to be complex, or sometimes forces to completely change the logic of the system (lack of Pub/Sub).
I would love to see a generic tool for handing the clustering/failover problem.