Skip to main content

lib/release_kit.ex

defmodule ReleaseKit do
  @moduledoc """
  Builds plain OTP release artifacts for deployment tools.

  ReleaseKit turns a Mix release directory into a compressed tarball and a small
  ETF manifest. Deployment systems such as HostKit can consume that manifest to
  unpack the release, wire runtime environment, and start the release with
  system-specific resources.
  """

  alias ReleaseKit.Builder

  @doc """
  Builds a release artifact using `ReleaseKit.Builder`.

  This is the library equivalent of `mix release_kit.artifact`.
  """
  @spec build_artifact() :: Builder.result()
  def build_artifact, do: Builder.build()

  @doc """
  Builds a release artifact with explicit options.
  """
  @spec build_artifact(keyword()) :: Builder.result()
  def build_artifact(opts), do: Builder.build(opts)
end