| name | ovstorage-contributor-author-storage-plugin |
| description | Use when adding or reviewing a storage backend plugin for ovstorage. |
| license | CC-BY-4.0 |
| version | 0.1.0 |
| author | NVIDIA Omniverse |
| tags | ["ovstorage","plugin","storage"] |
| tools | ["Read","Bash"] |
| compatibility | Requires an ovstorage checkout, Rust toolchain, and storage plugin ABI docs. Backend SDK credentials are user-supplied when applicable. |
Author a Storage Plugin
Goal
Implement a backend plugin that advertises truthful capabilities, streams bytes
without buffering whole objects, maps errors into ovstorage codes, and passes
the plugin conformance harness.
Recipe
- Start with
docs/public/plugin-development/README.md
for the shared C ABI, manifest, loader, and build loop.
- Use
docs/public/plugin-storage/README.md
for the storage-specific Factory and Backend contract.
- Mirror the small reference backend in
ovstorage-plugin-file
before introducing vendor SDK complexity.
- Set capability bits only for operations the backend actually honors.
- Add streaming-invariant coverage for any streaming read or write path.
- Run
make verify before merge.
Review Checks
- Manifest name/version come from Cargo package metadata.
- Secrets only travel through credential fields or credential providers.
- Write success means durable backend state is visible to a following read.
- Unsupported operations return
Unsupported and do not advertise the matching
capability.