Gust.Application (gust v0.1.26)
Starts the Gust OTP application and wires the supervision tree.
Gust orchestrates DAG execution, scheduling, and runtime infrastructure. This module builds the child list based on the environment and runtime flags so the right workers are started (or skipped) for the current mode.
Environment behavior
Test
In test, DAG runtime workers are disabled to keep test runs fast and
deterministic. The DAG loader, cron scheduler, and run restarter are not
started, so tests can use Repo and Ecto helpers without background execution.
Dev
In dev, Gust enables live DAG reloading. The file monitor watches the
configured dags/ directory and triggers reloads on changes.
Prod
In prod, the full runtime is enabled: DAG loading, cron scheduling, run
restarts, supervisors, and core infrastructure such as Registry, Repo, Vault,
and PubSub.
Boot control (PHX_SERVER)
Gust only boots the DAG runtime when the Phoenix server is running. This keeps
iex -S mix sessions safe and quiet by default.
The decision is based on:
Application.get_env(:gust, :boot_dag)- the
PHX_SERVERenvironment variable
If PHX_SERVER is "true" or "1", Gust assumes a web server is running and
starts the full DAG subsystem. Otherwise, DAG orchestration stays disabled.
DAG folder validation
Outside of test, Gust validates that the configured DAG folder exists at
startup. If it is missing, the application fails fast.