semitexa/storage

Semitexa Storage — driver-based file storage abstraction (local, S3/MinIO)

Maintainers

Package info

github.com/semitexa/semitexa-storage

Type:semitexa-module

pkg:composer/semitexa/storage

Statistics

Installs: 47

Dependents: 4

Suggesters: 0

Stars: 0

Open Issues: 0

2026.04.05.0855 2026-04-04 11:25 UTC

This package is auto-updated.

Last update: 2026-04-05 09:00:35 UTC


README

Driver-based file storage abstraction with local and S3/MinIO backends.

Purpose

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.

Role in Semitexa

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.

Key Features

  • StorageManager facade with driver selection
  • LocalDriver for filesystem storage
  • S3Driver for S3/MinIO object storage
  • StorageDriverInterface for custom backends
  • StoredObjectDescriptor and StoredObjectMetadata value objects
  • Tenant-aware path namespacing
  • StorageObjectStoreInterface for metadata persistence

Notes

Storage paths are automatically namespaced per tenant when tenancy is active. Drivers are stateless and safe for concurrent use in Swoole.