ClusterHelper work like a registry for mapping a role(or Id if needed) to node name of Elixir for call rpc or do other things inside cluster. The library is built on top of :syn lib.
Roles of each node will be synced & cached on each node (on Ets table) in cluster. The library solve problem when work with a dynamic Elixir cluster on K8s (IP/Hostname is dynamic, changed after every time pod is restarted) or on LAN when you need add/remove node in runtime.
ClusterHelper doesn’t help you for auto join a node to cluster, you need to use other library like Libcluster for that.
Source code is available on Github and package on Hex.
One more thing! Libcluster, EasyRpc & ClusterHelper are help us a lot to build a dynamic Elixir cluster on K8s and still get benefit from both: Fast to develop in Elixir(benefit from dynamic type + Rpc in internal cluster), easy to deploy & scalable of K8s.
Thanks for reading!
Source code repo