Runbox

Runbox is a runtime environment for Altworx scenarios. It is also a requirement for building the scenarios into a deployable artifact.

Note: This library makes sense only for usage with Altworx.

Details

The runbox app runs on the Altworx node and is responsible for starting nodes with scenarios. The scenario nodes run the runbox app as well, so runbox serves for communication between those two. Scenario nodes can are used for:

Usage in scenarios repository

Configure the scenarios release and include :runbox as a dependency in the mix.exs in the scenario repository:

def project do
  [
    app: :my_scenarios,
    version: "1.0.0",
    deps: deps(),
    releases: [
      my_scenarios: [
        include_erts: false,
        strip_beams: false,
        steps: [:assemble, :tar]
      ]
    ]
  ]
end

defp deps do
  [
    {:runbox, "0.1.0", hex: :altworx_runbox}
  ]
end

It is also necessary to configure the :runbox application for the release, so runbox knows which one is the "scenario" app. In the config/config.exs:

import Config

config :runbox, :scenario_app, :my_scenarios

Note that currently there is a limitation that scenario module names must start with Scenario..