Configuration for the embedded Gralkor runtime.
Two operator-facing knobs decide what :gralkor_ex does at boot:
- The FalkorDB connection — either embedded (
falkordblitespawns a localredis-serverchild under a directory chosen byGRALKOR_DATA_DIR) or remote (networkhost:portplus optional credentials, set via the:gralkor_ex, :falkordbapplication env). Remote wins when both are configured. Seefalkordb_spec/0. - The LLM and embedder models — read from the
GRALKOR_LLM_MODELandGRALKOR_EMBEDDER_MODELenv vars, falling back to the defaults below.
Models are stored as req_llm-style "provider:model" strings — when graphiti
needs them split, the provider/model halves are extracted at the call site.
Summary
Types
Resolved FalkorDB selection. :remote carries the validated keyword list
the operator supplied; :embedded carries the expanded data directory.
Functions
Resolve the FalkorDB connection spec from configuration. Returns nil
when neither knob is set so the supervisor can run with no children.
Validate a remote FalkorDB keyword spec. Raises ArgumentError with a
pointed message if the shape is wrong; returns the keyword list unchanged
on success.
Types
Functions
@spec embedder_model() :: String.t()
@spec falkordb_spec() :: falkordb_spec() | nil
Resolve the FalkorDB connection spec from configuration. Returns nil
when neither knob is set so the supervisor can run with no children.
Remote wins over embedded when both are present.
@spec llm_model() :: String.t()
Validate a remote FalkorDB keyword spec. Raises ArgumentError with a
pointed message if the shape is wrong; returns the keyword list unchanged
on success.