The framework's application configuration, in one place.
# config/config.exs of your application
config :vicander, repo: MyApp.Reporepo is the Ecto.Repo the framework uses unless a command, query, handler or projection
names another with repo: (for example use DDD.Command, repo: MyApp.OtherRepo). It is read
when the code runs, not when it compiles, so a test can change it.
The other keys are documented where they apply:
config :vicander, :outbox, ...- retries and backoff of the outbox (DDD.Outbox.Poller)config :vicander, :dead_letters, ...- what to do with events that gave up (DDD.Outbox.DeadLetterPolicy)config :vicander, :health, ...- thresholds and projections (DDD.Health)
Summary
Functions
Resolve a repo: option: :default is the configured repo, nil stays nil (no
transaction), and a module is itself.
The configured repo. Raises, saying how to configure it, when there is none.