Home

Awesome

MixErllambda

Elixir OTP release packaging for AWS Lambda.

Installation

The package can be installed by adding mix_erllambda to your list of dependencies in mix.exs:

def deps do
  [
    {:mix_erllambda, "~> 1.1"}
  ]
end

Usage

Just add as a mix dependency and use mix erllambda.release.

erllambda.release

Build a release package suitable for AWS Lambda deployment.

This task heavily utilises distillery to build application. Once release is built, task applies additional overlays that are necessary to bootstrap release as AWS Lambda environment. At the end it creates a zip package suitable for AWS lambda deployment with a provided environment.

Follow distillery release usage examples to init release for the project:

# init release
mix distillery.init

mkdir config
echo "use Mix.Config" > config/config.exs

To create package run erllambda.release with MIX_ENV set to the Mix environment you are targeting:

# Builds a release package with MIX_ENV=dev (the default)
mix erllambda.release

# Builds a release package with MIX_ENV=prod
MIX_ENV=prod mix erllambda.release

# Builds a release package for a specific release environment
MIX_ENV=prod mix erllambda.release --env=dev

Details

Task is built on top of distillery release and has the same command line interface. Please note that some of use cases (such as release upgrades) are not supported as they don't make sense in AWS lambda universe.

For full list of available options please read release documentation:

# mix help release

See Elixir example for details.