Gust.AppChildren (gust v0.1.36)

Copy Markdown

Builds the application child list for a given runtime role and environment.

The for_role/3 function returns a list of supervisors and workers based on:

  • the runtime role
  • the Mix environment (test, dev, prod)
  • the configured DAG folder

In practice, roles are used with the broader release like this:

  • "console" loads DAG definitions and supporting runtime pieces, but does not execute DAG dispatch because Gust.Run.Claimer and Gust.DAG.Terminator.Worker are not started
  • "web" is intended for the web-facing runtime: it loads DAG definitions for the UI, while DAG pooling remains disabled
  • "core" loads DAGs, skips the web application, and dispatches DAG runs
  • "single" loads DAGs, runs the web application, and dispatches DAG runs

Within this module specifically, "web" contributes only the DAG loader worker outside test, while "console" contributes the loader, watcher, leader, and runner supervisors without the dispatch workers.

In test, DAG runtime pieces (dispatcher, leader, loader, watcher) are skipped. In prod, the file watcher is disabled. In dev, the watcher is enabled to reload DAGs on file changes.

Summary

Functions

for_role(arg1, mix_env, dags_folder)