Skip to content

Architecture

varstore manages configuration variables across sources, scopes, and layers:

  • Sources — named origins with numeric priority (level, lower = higher priority)
  • Scopes — lists of sources (and nested scopes) to resolve against
  • Layers — key/value payloads attached to a registered source
  • StoreManager — raw storage (get_value / get_values; templates not expanded)
  • RenderableStoreManager — same raw API, plus get_renderer(scope).render_var(...) / render_values(...)

Default template engine is shell expandvars ($VAR / ${VAR}); alternate py_stringtemplate is available. The expand engine is vendored under varstore.expand (see NOTICE / LICENSE.expandvars).