I started working on an ejabberd module that takes care of autoclustering and its written in Elixir! It queries distributed configuration backends for nodes and joins the cluster. Processone says their Elixir support is still experimental, so this is very much a test library / toy for now.
This module will eventually support multiple backends, but currently it only supports Apache ZooKeeper. Plans are to support consul and etcd eventually.
Hows this different than libcluster? It looks like libcluster uses hardcoded nodes and is meant to be stand alone. It didn’t really fit my use case I believe.
Hows this different than rabbitmq_autocluster? Not sure, but that doesn’t look like it supports ZooKeeper and this is very ejabberd specific.
Anyways, you can check it out here: https://github.com/mpope9/mod_auto_cluster