Skip to main content

priv/templates/rel/env.sh.eex

#!/bin/sh
export RELEASE_DISTRIBUTION=name

# Runtime env vars take priority. If not set, use build-time values (or defaults).
# Resolution order for NODE_NAME:
# 1. Runtime $NODE_NAME environment variable
# 2. Runtime $HOSTNAME environment variable
# 3. Compile-time NODE_NAME environment variable (via EEx)
# 4. Fallback to the application release name (via EEx @release.name)
NODE_NAME=${NODE_NAME:-${HOSTNAME:-<%= System.get_env("NODE_NAME") || @release.name %>}}

# Resolution order for NODE_HOST:
# 1. Runtime $NODE_HOST environment variable
# 2. Compile-time NODE_HOST environment variable (via EEx)
# 3. Fallback to runtime IP resolution of $HOSTNAME
NODE_HOST=${NODE_HOST:-<%= System.get_env("NODE_HOST") || "$(getent hosts $HOSTNAME | awk '{ print $1 }')" %>}

export RELEASE_NODE="$NODE_NAME@$NODE_HOST"

COOKIE=${RELEASE_COOKIE:-<%= System.get_env("RELEASE_COOKIE")%>}
export RELEASE_COOKIE=$COOKIE