mohamedhabibwork / laravel-oci-driver
This is my package laravel-oci-driver
Fund package maintenance!
mohamedhabibwork
Installs: 413
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 643
Open Issues: 0
Requires
- php: ^8.2 || ^8.3 || ^8.4
- illuminate/contracts: ^10.0||^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
- spatie/laravel-ray: ^1.35
This package is auto-updated.
Last update: 2025-07-05 17:06:33 UTC
README
π οΈ How to Install
composer require mohamedhabibwork/laravel-oci-driver
π Implemented Features
-
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 (
β‘ Quick Start
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');
π Documentation
- 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
π API Reference
See the API_REFERENCE.md for full method signatures, options, and advanced usage. For configuration, authentication, and advanced features, see the relevant guides above.
π§ͺ Testing
composer test
See the Testing Guide for more details and examples.
π§ Troubleshooting
- 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
π€ Contributing
See CONTRIBUTING.md for guidelines.
π Support
π License
The MIT License (MIT). See LICENSE.md for details.
πΊοΈ Roadmap
- 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
π₯ Credits
- Mohamed Habib - Creator & Lead Developer
- All Contributors
Made with β€οΈ for the Laravel community
β Star us on GitHub | π Documentation | π Report Bug | π‘ Request Feature