Document private SQL storage for plugins - #233
Merged
Merged
Conversation
Document the storage.sql permission, JavaScript and Python APIs, query limits, security boundary, and scenario test behavior.
gabek
force-pushed
the
gek/plugin-sql-storage-docs
branch
from
July 31, 2026 02:01
3fd2385 to
06d708c
Compare
gabek
marked this pull request as ready for review
August 5, 2026 06:34
…gin-sql-storage-docs # Conflicts: # docs/plugins/apis.mdx
There was a problem hiding this comment.
Pull request overview
Updates the plugin documentation to describe the newly introduced private per-plugin SQL storage surface area (SQLite) and aligns filesystem storage docs with the updated on-disk layout, so plugin authors understand permissions, behavior, and testing expectations.
Changes:
- Add
storage.sqlpermission documentation, including per-plugin DB boundary, quotas, lifecycle, and backup behavior. - Document
owncast.sql.exec,query, andqueryRowAPIs with JavaScript and Python examples plus execution/limit constraints and refused SQL. - Extend scenario-testing docs to explain how SQL behavior is exercised via plugin handlers/commands (no dedicated SQL assertions).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/plugins/testing.mdx | Adds guidance for testing plugins that use owncast.sql.* with in-memory SQLite in scenarios/dev server. |
| docs/plugins/permissions.md | Adds storage.sql to the permission reference and updates storage.fs path details + summary table. |
| docs/plugins/apis.mdx | Updates owncast.fs.* storage path and adds a new owncast.sql.* API section with examples, limits, and constraints. |
Suppressed comments (1)
docs/plugins/apis.mdx:447
- Minor grammar: “commits whole” is unidiomatic and reads like a typo. Consider rephrasing to clarify that the batch commits atomically.
<Tabs groupId="plugin-lang">
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This documents the public author-facing side of owncast/owncast#5084 and owncast/plugin-sdk#6.
storage.sqlto the permission reference, including the per-plugin database boundary, limits, lifecycle, and backup behavior.owncast.sql.exec,query, andqueryRowwith matching JavaScript and Python examples.The English Docusaurus build passes with no broken links or broken anchors from these changes.
This stays draft until the Owncast runtime and SDK changes ship so the public site does not advertise an unavailable API.