Attention: this assumes you already have a Gust project.
Add
gust_shellto your Gust project'smix.exsfile:defp deps do [ # Your other deps, such as {:gust_web, "..."}, {:gust_shell, "~> 0.1.0"}, # ... ] endDeclare the adapter in your
config.exs:config :gust, dag_adapter: [ shell: %{ parser: GustShell.Parser.Adapter, runtime: GustShell.Runtime.Adapter, task_worker: GustShell.TaskWorker.Adapter } ]Drop
.ymlfiles in your DAG folder. Gust picks them up like any other DAG.
Make sure the commands your DAGs call (such as tar, aws or docker) are
installed on the machine running Gust.
Requirements
- Elixir 1.18 or later.
- Linux, macOS or another Unix-like system. Windows is not supported, because erlexec, which runs the commands, is Unix-only.
Some task options depend on the machine:
userandcgroupneed the permissions to switch users or manage control groups.cgroupworks only on Linux with control groups configured.ptyandpty_echoneed a system that can allocate pseudo-terminals.