Looking to hire Laravel developers? Try LaraJobs

laravel-oci-driver maintained by mohamedhabibwork

Description
This is my package laravel-oci-driver
Author
Last update
2025/08/20 01:07 (dev-copilot/fix-91d0eef8-319a-4863-bd26-4a9f8ecbfdb8)
License
Downloads
792

Comments
comments powered by Disqus

Laravel OCI Driver

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads PHPStan Level


🛠️ 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 config
    • oci:config – Interactive configuration for OCI settings, with --validate to check config
    • oci: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

⚡ 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


📝 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


Made with ❤️ for the Laravel community

⭐ Star us on GitHub | 📚 Documentation | 🐛 Report Bug | 💡 Request Feature