Release (OTP)

An Erlang release is defined as a standalone node consisting of:

(Cesarini and Vinoski 2016, 246)

erlang_release_structure.png

System Principles

The simplest way to start an Erlang node is using the erl command. You can start your program from the Erlang shell itself by typing in the module and function name or by passing the -s flag to erl:

$ erl -s module function arg1 arg2 ...

The function and arguments are optional. If only the module is listed, the command will invoke module:start(). If the module and function are listed, the command will invoke module:function(). We refer to this method of starting your node as a basic target system, where you create a Unix shell script that initializes your state and calls the erl -s command.

(Cesarini and Vinoski 2016, 246)

Release Directory Structure

Metadata

System Configuration

The standard name for a configuration file is sys.config. The name can be anything as long as it ends with the extension .config. Just like the .app file and the .rel file, the .config file contains a single Erlang term followed by a period. (Logan, Merritt, and Carlsson 2010, 250)

References:

Cesarini, Francesco, and Steve Vinoski. 2016. Designing for Scalability with Erlang/Otp: Implement Robust, Fault-Tolerant Systems. O’Reilly Media, Inc.
Logan, Martin, Eric Merritt, and Richard Carlsson. 2010. Erlang and Otp in Action. Manning Publications Co.

Backlinks: