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
Variable | Value |
---|---|
AUTOMATION_BASE_DIR | Full filepath to the root of the hamlet executor's ./automation directory |
GENERATION_BASE_DIR | The fully qualified filepath to the executor itself. |
GENERATION_DIR | Fully qualified filepath to the executor's ./cli directory. |
GENERATION_ENGINE_DIR | A fully qualified filepath to a local copy of the hamlet engine core repository. |
GENERATION_PLUGIN_DIRS | A semicolon delimited list of fully qualified filepaths, each to a local instance of a hamlet plugin. |