I got an application where I’d like to start the node with a (long) name dynamically determined during runtime based on the computer’s IP address. However when I run mix release the application is given a node at compile time. I can’t for the life of me get anything useful out the mix release docs
So my question is, how do configure my project to not start the system with a pre-defined node.
Bonus question would be why does mix release
hard code a node name? Won’t it make it impossible to differentiate between two nodes of the same application?
This is mostly what’s in my mix.exs
defmodule Elevator.MixProject do
use Mix.Project
def project do
[
app: :elevator,
version: "0.8.0",
elixir: "~> 1.13",
start_permanent: Mix.env() == :prod,
env: Mix.env(),
releases: [
win_debug: [
include_executables_for: [:windows],
applications: [runtime_tools: :permanent],
path: "releases/win_debug/"
],
lab_debug: [
include_executables_for: [:unix],
applications: [runtime_tools: :permanent],
path: "releases/lab_debug/"
]
]
]
end
def application() do
[
extra_applications: [:logger, :runtime_tools],
mod: {Main, []}
# Switch with Main to simulate single elevator
# mod: {ElevatorSimul, []}
]
end
end