Plugin Store · Store

SQLite

Docs GitHub
v1.0.6

Durable local persistence, one file.

What it is Durable governance state (keys, budgets, usage) in a single local SQLite file.
When to use it One node needs its state to survive a restart, no database server to run.
CategoryStore StatusAvailable

Overview

The SQLite store gives one Busbar node durable governance state (virtual keys, budgets, and usage that survive a restart) in a single file on local disk. No database server to run, no connection to manage.

It never sits on the hot path. Enforcement runs against in-memory counters (a hard cap, same as the Memory store); SQLite is the write-behind durable mirror, hydrated once at boot, flushed on a short cadence and on graceful shutdown. So you get persistence without paying a synchronous DB write per request.

Set the store to sqlite and point it at a path; that’s the whole change. When a single node’s durability isn’t enough and you need state shared across a cluster, the same contract is implemented by the Postgres and Valkey stores.

Install it

Download the signed tarball for your platform (button above), drop it in plugins/, and set:

store:
  module: sqlite
  settings: { db_path: /var/lib/busbar/governance.db }

Independently versioned from busbar itself: pin both explicitly in production. Requires busbar 1.5.0+.

Prefer to install by hand? No plugins.fetch config needed: download the signed tarball (links above), drop it in your plugins.dir, and busbar loads it at boot; signature and trust checks still apply. You can also push it live over the admin API. See the plugin install docs.

Settings

SettingRequiredDefaultDescription
db_path No busbar-governance.db Path to the SQLite file (relative to the process cwd). :memory: opens a non-durable in-process database.
busy_timeout_ms No 5000 SQLite busy_timeout in milliseconds; 0 means never retry on a locked database.

← Back to the Plugin Store