Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 00:45
· 119 commits to main since this release
21a9ee8

Added

  • CI now proves the Postgres backend on every change: the whole web test suite runs a second time against a real PostgreSQL 17 service, and the backend parity suite grew to cover rules with their KQL, users, dashboards and suppressions alongside the findings lifecycle. docker-compose.yml gains an optional postgres profile, off by default so the single-container SQLite install is unchanged, with a matching RULEBEAT_DATABASE_URL entry in .env.example (issue #73, phase 3).

  • The whole app now runs on PostgreSQL: every database repository and every caller through the pages and API routes is asynchronous, so setting RULEBEAT_DATABASE_URL runs scans, dashboards, schedules, auth and audit against Postgres, not just the spike's three repositories (issue #73, phase 2). The SQLite default is unchanged and needs nothing.

  • The PostgreSQL backend now creates the complete schema and seeds the same built-in content as a fresh SQLite install: built-in rules, external pack rules, categories, the starter dashboard, onboarding state and the initial local admin account with its printed first password. The app itself still needs the remaining repository sweep before it fully runs on Postgres (issue #73, phase 1).

  • Groundwork for an optional PostgreSQL backend (issue #73, Phase 0 spike). RuleBeat can now open
    either its built-in SQLite database (the default, unchanged) or a PostgreSQL database named by
    the new RULEBEAT_DATABASE_URL setting (RULEBEAT_DATABASE_URL_FILE for Docker secrets). In
    this phase only the meta, findings and notification repositories run on both backends; the rest
    of the app still requires SQLite and fails loudly if pointed at Postgres. Leave the variable
    unset and nothing changes. Adds one runtime dependency to the web package: pg (node-postgres).

Changed

  • Install and upgrade commands in the README and docs pin the exact release version again,
    instead of :latest. The release script now rewrites the pinned tags in the same commit that
    bumps the version, and a test fails the build if any doc names :latest or a stale version,
    so the pins cannot go stale the way they did before 0.2.4.

Dependencies

  • Added @types/pg 8.23.1.