Current section
Files
Jump to
Current section
Files
lib/cluster_helper.ex
defmodule ClusterHelper do
@moduledoc """
A module helper for cluster.
Support work with dynamic cluster.
Base on role and node.
Each node can have a or many roles.
And each role can have a or many nodes.
"""
alias ClusterHelper.NodeConfig
@spec get_nodes(any()) :: list()
@doc """
Return nodes have role.
"""
def get_nodes(role) do
NodeConfig.get_nodes(role)
end
@doc """
Return roles of a node.
"""
def get_roles(node) do
NodeConfig.get_roles(node)
end
@doc """
Return all nodes in cluster.
"""
def all_nodes do
NodeConfig.get_all_nodes()
end
@doc """
Add a role for current node.
"""
def add_role(role) do
NodeConfig.add_role(role)
end
@doc """
Add roles for current node.
"""
def add_roles(roles) do
NodeConfig.add_roles(roles)
end
@doc """
Return roles of current node.
"""
def get_my_roles do
NodeConfig.get_my_roles()
end
@doc """
Remove a role of current node.
"""
def remove_role(role) do
NodeConfig.remove_role(role)
end
end