erl_boot_server(3)
π¦ erl_boot_server β the boot server bestie π¦
okay so this is the erl_boot_server manual page from Erlang's kernel module docs, and omg it's literally the server that feeds code to the diskless girlies. let's get into it π
β¨ NAME β¨
erl_boot_server β Boot server for other Erlang machines. not me being the entire lifeline for machines with no disk. main character energy fr fr π
π DESCRIPTION π
So basically this server is the one you call when you're helping out diskless Erlang nodes that fetch all their Erlang code from another machine. like, no local storage, no problem, we got you π«Ά
This server fetches all code, including the start script, if an Erlang runtime system is started with the command-line flag -loader inet. And heads up, bestie β all hosts specified with command-line flag -hosts Host must have one instance of this server running. every. single. one. no skipping π
This server can be started with the Kernel configuration parameter start_boot_server. that's the vibe.
The erl_boot_server can read regular files and files in archives. See code and erl_prim_loader in ERTS if you wanna go deeper, iykyk.
β οΈ WARNING β read this one twice, bestie: The support for loading code from archive files is experimental. It is released before it is ready to obtain early feedback. The file format, semantics, interfaces, and so on, can be changed in a future release. so don't get too attached, it's giving "situationship" π
π SEE ALSO π
erts:initerts:erl_prim_loader
π FUNCTIONS π
add_slave(Slave) -> ok | {error, Reason}
when
Slave :: Host,
Host :: inet:ip_address() | inet:hostname(),
Reason :: {badarg, Slave}.
Adds a Slave node to the list of allowed slave hosts. letting a new girl into the group chat, periodt β¨
delete_slave(Slave) -> ok | {error, Reason}
when
Slave :: Host,
Host :: inet:ip_address() | inet:hostname(),
Reason :: {badarg, Slave}.
Deletes a Slave node from the list of allowed slave hosts. okay so we're removing them from the chat. it's not mean, it's boundaries π
start(Slaves) -> {ok, Pid} | {error, Reason}
when
Slaves :: [Host],
Host :: inet:ip_address() | inet:hostname(),
Pid :: pid(),
Reason :: any().
The same as start(Slaves, #{}). literally just the short version, no extra options, we keep it simple π
start(Slaves, Options) -> {ok, Pid} | {error, Reason}
when
Slaves :: [Host],
Host :: inet:ip_address() | inet:hostname(),
Options :: #{listen_port => inet:port_number()},
Pid :: pid(),
Reason :: any().
Starts the boot server. π
Slaves is a list of IP addresses for hosts, which are allowed to use this server as a boot server. Options is a map with configuration options.
The boot server listening port can be configured with listen_port. If an empty map is provided, or listen_port is zero, then an ephemeral port is used. so if you don't pick a port, it picks one for you, iconic π¦
start_link(Slaves) -> {ok, Pid} | {error, Reason}
when
Slaves :: [Host],
Host :: inet:ip_address() | inet:hostname(),
Pid :: pid(),
Reason :: any().
The same as start_link(Slaves, #{}). same deal, defaults only β¨
start_link(Slaves, Options) -> {ok, Pid} | {error, Reason}
when
Slaves :: [Host],
Host :: inet:ip_address() | inet:hostname(),
Options :: #{listen_port => inet:port_number()},
Pid :: pid(),
Reason :: any().
The same as start(Slaves, Options), but it also links to the caller. so now you two are connected, no cap π₯
which_slaves() -> Slaves
when
Slaves :: [Slave],
Slave ::
{Netmask :: inet:ip_address(),
Address :: inet:ip_address()}.
Returns the current list of allowed slave hosts. the full roster, everyone who's allowed in π
okay that's the whole page, bestie!! πβ¨πΈ this was erl_boot_server(3) from Ericsson AB, part of kernel 11.0.3 β slay, obsessed, and so glad you read all the way down here. mwah ππ«Άπ
π¦ where this page comes from
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms