Skip to content

v1.0.0

Compare
Choose a tag to compare
@h5tark h5tark released this 25 May 18:21
· 1 commit to main since this release

Added

  • Initial release of Viettel Cloud Object Storage Laravel Storage Driver
  • Custom Flysystem adapter for VIPCore/EMC ViPR S3-compatible endpoints
  • AWS v4 signature calculation compatible with VIPCore requirements
  • Support for UNSIGNED-PAYLOAD content hash (required by VIPCore)
  • File upload, download, delete, and existence check operations
  • Public/private file visibility support with ACL headers
  • MIME type detection for uploaded files
  • URL generation for file access
  • Comprehensive error handling with Flysystem exceptions
  • Laravel 10.x and 11.x compatibility
  • Auto-discovery service provider registration
  • Configurable via environment variables
  • Full documentation and usage examples

Features

  • ✅ Upload files with Storage::disk('viettel-s3')->put()
  • ✅ Download files with Storage::disk('viettel-s3')->get()
  • ✅ Check file existence with Storage::disk('viettel-s3')->exists()
  • ✅ Generate URLs with Storage::disk('viettel-s3')->url()
  • ✅ Delete files with Storage::disk('viettel-s3')->delete()
  • ✅ File metadata retrieval (size, MIME type, last modified)
  • ✅ Stream support for large files
  • ✅ Batch operations for multiple files
  • ✅ Public/private file visibility
  • ✅ Custom signature calculation bypassing AWS SDK issues

Technical Details

  • Direct cURL implementation for HTTP requests
  • Manual AWS v4 signature calculation
  • Proper canonical request formatting
  • Alphabetical header ordering for signatures
  • Content integrity checks with SHA256
  • Comprehensive logging for debugging

Requirements

  • PHP ^8.2
  • Laravel ^10.0 || ^11.0
  • League/Flysystem ^3.0