The implementation of erl_epmd
-compatible module that uses Consul for node
discover instead of EPMD.
Add project to your dependencies
Erlang:
{deps, [consulate]}.
Elixir:
defp deps do
[
{:consulate, "~> 0.0"}
]
end
And then run your application with
-epmd_module consulate -start_epmd false
You can change default erlang-node
service name via -consul_service
flag to
erl
. Beware that all nodes that want to be connected need to use the same
service name.
Consul connection options are set via application environment. Supported options are:
host
(defaults to127.0.0.1
) - host to Consul agentport
(defaults to8500
) - port on which agent is listeningscheme
(defaults tohttp
) - connection scheme, can be"http"
or"https"
check
- map containing 2 fields:interval
(defaults to10
) - time in seconds between each health checkderegister
(defaults to60
) - time in seconds after which the service will be deregistered from catalog after it fails test
meta
- map ofatom() => atom() | binary()
pairs that will be submitted as service metadata
See LICENSE