Virtual Filesystem (VFS)¶
Hermes provides a virtual filesystem per application backed by HDF5. It exposes a hierarchical view with mount points corresponding to packaged content and writable areas controlled by permissions.
Structure (runtime view)
www/: Static web assets from the package/srv/www(read-only).share/: App-wide shared assets from the package/srv/share(read-only).lib/<module>/: Module metadata, WASM components, and bundled data (read-only).usr/andusr/lib/: Application overrides for module data/config (read-only).etc/: Writable settings area (currently empty by default).tmp/: Writable scratch space stored inside the per-app.hfsfile.ipfs/: Read-only IPFS-backed reads (used by IPFS helpers).srv/: Present in the VFS but packagesrv/*content is mounted into/wwwand/share.
Permissions
- Read-only for packaged assets ensures reproducibility and integrity.
- Writable locations are limited to
tmp/andetc/.
Persistence
- The VFS is stored as
~/.hermes/<app>.hfsand persists across runs unless cleaned.
APIs
- Read/write primitives are mediated by the VFS with permission checks.
- Bootstrapping constructs the HDF5-backed structure and mounts packaged content.
References
hermes/bin/src/vfs/*,hermes/bin/src/hdf5/*- Packaging layout: Packaging Requirements