LemonCore.Doctor (lemon_core v0.1.0)

View Source

Runs the Lemon doctor check suite and builds the aggregate diagnostic report used by CLI and support tooling.

Registering checks

The built-in checks cover what lemon_core itself owns (config, secrets, runtime, providers, and the proof artifacts other apps write). Apps that own their own domain register additional check modules, which run after the built-ins:

config :lemon_core, :doctor_checks, [MyApp.Doctor.Checks.Widgets]

A check module only has to export run/1 returning a list of LemonCore.Doctor.Check structs. Modules that cannot be loaded are skipped, so a registration left behind by a removed dependency is not fatal.

Summary

Functions

Check modules registered by other apps under :lemon_core, :doctor_checks.

Functions

builtin_checks()

@spec builtin_checks() :: [module()]

checks(opts \\ [])

@spec checks(keyword()) :: [LemonCore.Doctor.Check.t()]

registered_checks()

@spec registered_checks() :: [module()]

Check modules registered by other apps under :lemon_core, :doctor_checks.

report(opts \\ [])

@spec report(keyword()) :: LemonCore.Doctor.Report.t()