Skip to main content

Module stores

Module stores 

Source
Expand description

Admin CRUD for the stores: resource (named redis/valkey connections).

Responses always carry the RAW stored config β€” ${ENV} placeholders are never resolved here (they resolve only when a client is built). Deleting a store still referenced by any plugin config is rejected with 409 {"error":"in_use","referrers":[...]} β€” a new envelope, since the reference is not discoverable via graph recompilation (a store used only by a shared plugin_config compiles fine without the node being wired). The same guard also covers acme.storage (system.yaml), since an ACME type: store storage config references a store outside gateway.yaml entirely and would otherwise go undetected.

FunctionsΒ§

create_store πŸ”’
delete_store πŸ”’
get_store πŸ”’
list_stores πŸ”’
ping_store πŸ”’
Connectivity check: resolves the store’s config (env placeholders included) and PINGs it, bounded by the store’s own connect_timeout_ms. The response never echoes resolved connection details β€” only latency and version.
router
store_referrers πŸ”’
Everything that references store name: node config store: keys (flat, for limit-count/workflow), nested session.store (session plugins β€” wired in a later plan, scanned now so the guard never lags the feature), and workflow’s per-rule action params (config.rules[].actions[][1].store β€” actions are [name, params] pairs; see plugins/native/workflow.rs).
update_store πŸ”’