LemonCore. Runtime. Profile
(lemon_core v0.1.0)
View Source
Runtime profiles for Lemon.
A profile is a named set of OTP applications that should be started together.
Profiles replace the ad-hoc app lists that were hard-coded in bin/lemon.
Available profiles
| Profile | Apps | Use case |
|---|---|---|
:runtime_min | gateway, router, channels, control_plane, coding_agent | CI, headless, embedded |
:runtime_full | all of the above + automation, skills, web, sim_ui | Local development |
Usage
profile = LemonCore.Runtime.Profile.get(:runtime_full)
profile.apps
# => [:lemon_gateway, :lemon_router, ...]
LemonCore.Runtime.Profile.app_list(:runtime_min)
# => [:lemon_gateway, :lemon_router, :lemon_channels, :lemon_control_plane]
Summary
Functions
Returns the list of OTP application names for the given profile.
Returns the default profile name for the current Mix environment.
Returns the profile struct for the given name.
Returns all available profile names.
Types
Functions
Returns the list of OTP application names for the given profile.
@spec default_name() :: atom()
Returns the default profile name for the current Mix environment.
:devand:test→:runtime_full:prod→:runtime_min(can be overridden viaLEMON_RUNTIME_PROFILE)
Returns the profile struct for the given name.
Raises ArgumentError for an unknown profile name.
Examples
iex> LemonCore.Runtime.Profile.get(:runtime_full)
%LemonCore.Runtime.Profile{name: :runtime_full, ...}
@spec names() :: [atom()]
Returns all available profile names.