composer require mohamedhabibwork/laravel-oci-driver
-
Artisan Commands:
oci:setup
– Create Oracle-compatible.oci
folder, generate/copy key files, write configoci:config
– Interactive configuration for OCI settings, with--validate
to check configoci:connection
– Manage multiple OCI connections:list
,test
,switch
,summary
oci:status
– Check connection status, test file operations, and list files in a bucket
-
Key Providers:
- File-based (from file path)
- Environment-based (from env variable, supports base64)
- Custom providers via interface
-
Enums:
ConnectionType
(primary, secondary, backup, development, testing, staging, production, archive)StorageTier
(Standard, InfrequentAccess, Archive)LogLevel
(emergency, alert, critical, error, warning, notice, info, debug)
-
Exception Handling:
PrivateKeyFileNotFoundException
SignerValidateException
SigningValidationFailedException
-
Configuration:
- All required OCI config: tenancy, user, fingerprint, key path, region, namespace, bucket, storage tier
- Optional: prefix, url, passphrase, advanced performance/cache options, debug/logging
-
Integration:
- Laravel filesystem disk driver (
oci
) - Event system for file operations (upload, download, delete, etc.)
- Service provider auto-registers everything
- Health check and connection validation built-in
- Laravel filesystem disk driver (
use Illuminate\Support\Facades\Storage;
// Upload a file
Storage::disk('oci')->put('documents/hello.txt', 'Hello, Oracle Cloud!');
// Download a file
$content = Storage::disk('oci')->get('documents/hello.txt');
// List files
$files = Storage::disk('oci')->files('documents');
- Configuration Guide — All config options, environment variables, and best practices
- Authentication Setup — Key management, provider types, and security notes
- Usage Examples — Real-world code snippets for common tasks
- Testing Guide — How to test, recommended tools, and sample tests
- Performance Guide — Tuning, caching, and large file strategies
- Security Guide — Best practices, secrets management, and compliance
- Advanced Features — Bulk ops, events, custom providers, and more
- Migration Guide — Migrate from S3, GCS, or local storage
- Deployment Guide — Production deployment strategies
- Troubleshooting Guide — Common issues and solutions
- API Reference — Full method signatures and options
See the API_REFERENCE.md for full method signatures, options, and advanced usage. For configuration, authentication, and advanced features, see the relevant guides above.
composer test
See the Testing Guide for more details and examples.
- Use
php artisan oci:config --validate
to check your configuration - Ensure your OCI credentials and key files are correct
- Check file permissions for private keys
- See TROUBLESHOOTING.md for more help
See CONTRIBUTING.md for guidelines.
The MIT License (MIT). See LICENSE.md for details.
- Advanced Health Checks (Spatie Health integration)
- Connection Pooling and advanced parallel/multipart upload support
- Custom Event Listeners for all storage operations
- Improved Error Reporting and user-friendly CLI output
- Web UI for Connection Management
- More Key Providers (e.g., HashiCorp Vault, AWS Secrets Manager)
- Automatic Key Rotation
- Enhanced Documentation & Examples
- Support for Additional OCI Services (beyond Object Storage)
- Performance Benchmarks and Tuning Guides
- Mohamed Habib - Creator & Lead Developer
- All Contributors
Made with ❤️ for the Laravel community
⭐ Star us on GitHub | 📚 Documentation | 🐛 Report Bug | 💡 Request Feature