Skip to main content

Bash Executor

The bash executor handles the invocation of the hamlet components including the engine, and executing the outputs generated by the engine. It is a collection of bash scripts which source standard library functions and offer user facing interfaces from CLI commands

It is broken into two parts:-

  • generation: which manages the CMDB, invoking the engine and executing outputs
  • automation: which manages the CMDB itself and provides a standardised approach for CI/CD pipeline integration

Usage

The bash executor provides the most complete implementation of hamlet execution and can be used by other executors along with users of hamlet.

Configuration

The executor must be configured to be able to locate the other components. This is done through environment variables.

Environment Variables

The following environment variables can be used to configure the hamlet executor. Theses variables are required to run the executor

VariableValue
AUTOMATION_BASE_DIRFull filepath to the root of the hamlet executor's ./automation directory
GENERATION_BASE_DIRThe fully qualified filepath to the executor itself.
GENERATION_DIRFully qualified filepath to the executor's ./cli directory.
GENERATION_ENGINE_DIRA fully qualified filepath to a local copy of the hamlet engine core repository.
GENERATION_PLUGIN_DIRSA semicolon delimited list of fully qualified filepaths, each to a local instance of a hamlet plugin.