Driver-based file storage abstraction with local and S3/MinIO backends.
Provides a unified file storage API across local filesystem and S3-compatible object stores. Handles path namespacing for tenant isolation, metadata tracking via ORM, and CDN-ready URL generation.
Depends on semitexa/core and semitexa/orm. Used by semitexa/mail for attachments and semitexa/platform-user for avatar storage. Drivers are resolved via the container and selected per storage context.
StorageManagerfacade with driver selectionLocalDriverfor filesystem storageS3Driverfor S3/MinIO object storageStorageDriverInterfacefor custom backendsStoredObjectDescriptorandStoredObjectMetadatavalue objects- Tenant-aware path namespacing
StorageObjectStoreInterfacefor metadata persistence
Storage paths are automatically namespaced per tenant when tenancy is active. Drivers are stateless and safe for concurrent use in Swoole.