stefanchrobot

stefanchrobot

Once my application starts, I want to talk to Consul to figure out other running nodes and connect them into a cluster. I want to customize my node’s longname and cookie.

The problem seems to be that the node is automatically started as a distributed node since I’m using releases. Therefore I can’t use :net_kernel.start (already started) nor :net_kernel.stop (not allowed).

Is there a way to do it? Or do I need to put all the logic into the env.sh?

Showing Posts 1 to 5

hubertlepicki

hubertlepicki

Have you looked at GitHub - bitwalker/libcluster: Automatic cluster formation/healing for Elixir applications · GitHub ? You may need a custom strategy module if you implement some non standard deployment, but it should be flexible enough to what you are trying to do.

stefanchrobot

stefanchrobot OP

Yes, I did. In the long run I might use libcluster, but I think my problem is that I need to reconfigure the node distribution after it’s booted, but before I let libcluster cluster the nodes.

stefanchrobot

stefanchrobot OP

Looks like I found the reason:

 {elixir,
     [{config_providers,
          #{'__struct__' => 'Elixir.Config.Provider',
            config_path => {system,<<"RELEASE_SYS_CONFIG">>,<<".config">>},
            extra_config => [{kernel,[{start_distribution,true}]}],
            providers =>
                [{'Elixir.Config.Reader',
                     {system,<<"RELEASE_ROOT">>,
                         <<"/releases/0.1.0/releases.exs">>}}],
            prune_after_boot => false}}]},
 {kernel,[{start_distribution,false}]}].

[{kernel,[{start_distribution,true}]}] is once specified with false, once with true. If I change both to false the node is not started as distributed.

Why is this the case? Can I safely change this? How do I configure this not to be set to true without fiddling with sys.config?

josevalim

josevalim

Creator of Elixir

I think setting start_distribution to false won’t allow you to start it properly later. If you do try to allow it, the system will be in a borked state with missing components.

This feature is not supported by Elixir releases, so please open up an issue. We should add support for something like RELEASE_DISTRIBUTION=noname.

stefanchrobot

stefanchrobot OP

Thanks, issue created.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews