distillery v2.1.1 API Reference


Represents important metadata about a given application.

This module is responsible for generating appups between two releases.

A transform is an appup compilation pass which receives a list of appup instructions, along with metadata about those instructions, such as the source application, the source and target versions involved, and an optional list of configuration options for the transform.

This module is responsible for packaging a release into a tarball.

This module is responsible for assembling a release based on a Distillery.Releases.Config struct. It creates the release directory, copies applications, and generates release-specific files required by :systools and :release_handler.

This module defines a behavior for, and orchestrator of, static analysis checks to be performed at release-time. These checks are intended to operate on the fully reified release configuration and metadata, and return warnings, errors, or ok for the release assembler to react to.

Runs some basic validation of the distribution cookie configuration

Validates the ERTS configuration for the given release

This check determines whether or not any of the applications in the release satisfy all three of the following conditions

Responsible for parsing the release configuration file.

This defines the behaviour for custom configuration providers.

Provides support for Mix.Config config scripts, e.g. config.exs

Represents a unique configuration for releases built in this environment.

This module is responsible for applying overlays to a release, prior to packaging. Overlays are templated with EEx, with bindings set to the values configured in overlay_vars.

This module provides a simple way to add additional processing to phases of the release assembly and archival.

Represents the configuration profile for a specific environment and release. More generally, a release has a profile, as does an environment, and when determining the configuration for a release in a given environment, the environment profile overrides the release profile.

Represents metadata about a release

This module defines the tooling for interacting with nodes, as well as other utility functions of use.

This is a kernel process which will maintain a pidfile for the running node

This module provides conveniences for writing output to the shell.


This error is raised when an appup transformation results in an invalid appup instruction or instruction set.

Mix Tasks

Generate appup files for hot upgrades and downgrades

Prepares a new project for use with releases. This simply creates a rel directory in the project root, and creates a basic initial configuration file in rel/config.exs. It will also creates a vm.args file in rel/vm.args to tweak the configuration of the BEAM.

Build a release for the current mix application.

Cleans release artifacts from the current project.