Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Relay Blob Library Laravel Package

dbp/relay-blob-library

PHP helper library for interacting with dbp relay-blob-bundle. Provides BlobApi for HTTP mode with optional OIDC authentication to add, fetch, and remove files (blobs) in a bucket, using simple BlobFile objects and identifiers.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • File Storage & Media Management:

    • Accelerate development of a self-hosted blob storage solution (e.g., for user uploads, media libraries, or document repositories) by abstracting low-level API interactions with dbp/relay-blob-bundle.
    • Enable secure, scalable file handling (e.g., signed URLs, OAuth2/OIDC auth) without reinventing the wheel, reducing backend complexity.
  • Roadmap Prioritization:

    • Build vs. Buy: Justify adopting this library over custom development if the team lacks expertise in blob storage APIs, OAuth2/OIDC flows, or signed URL generation.
    • Phase 1 MVP: Use this to quickly implement core file upload/download/delete functionality, then extend with custom logic (e.g., metadata indexing, CDN integration) later.
    • Compliance/Privacy: Leverage built-in AGPL-3.0 (open-source) alignment for projects requiring transparency or avoiding proprietary dependencies.
  • Use Cases:

    • User-Generated Content: Profile pictures, avatars, or resumes in a SaaS platform.
    • Document Collaboration: Secure file sharing with versioning (e.g., legal contracts, medical records).
    • Media Workflows: Video/audio processing pipelines (e.g., signed URLs for direct client uploads to reduce server load).
    • Legacy System Migration: Replace S3/AWS dependencies with self-hosted alternatives while maintaining similar APIs.

When to Consider This Package

Adopt This Package If:

  • Your team is building a Laravel/Symfony app and needs a self-hosted blob storage layer (not S3/DigitalOcean Spaces).
  • You require OIDC/OAuth2 authentication for blob access (e.g., integrating with Keycloak, Azure AD).
  • You need signed URLs for secure, temporary file access (e.g., sharing links without exposing raw endpoints).
  • Your use case aligns with the example workflows (HTTP mode, file uploads/downloads/deletes, metadata handling).
  • You’re okay with AGPL-3.0 licensing (or can relicense internally if needed).
  • You want to avoid vendor lock-in and prefer open-source dependencies.

Look Elsewhere If:

  • You need multi-cloud storage (e.g., S3, GCS, Azure Blob) out of the box → Use Laravel Filesystem or Flysystem.
  • Your project requires PHP 8.1 or lower (this package drops support for PHP <8.2).
  • You need advanced features like:
    • Serverless triggers (e.g., AWS Lambda for file processing).
    • GraphQL APIs for blob operations (this is HTTP-only).
    • Block storage (e.g., databases for binary data) → Consider Doctrine Dbal or Laravel’s store().
  • Your team lacks Symfony/Laravel familiarity (the bundle integration is still "soon to come").
  • You need high throughput (this is a helper library, not a distributed storage system).

How to Pitch It (Stakeholders)

For Executives:

"This library lets us build a secure, self-hosted file storage system without the complexity of managing raw APIs or third-party dependencies. Here’s why it’s a smart move:

  • Faster Development: Abstracts OAuth2/OIDC auth and signed URLs—critical for secure file sharing—so our team can focus on core features.
  • Cost Control: Avoids recurring costs of cloud storage (e.g., S3) while keeping data on-prem or in our own infrastructure.
  • Compliance Ready: AGPL-3.0 aligns with open-source values, and OIDC support lets us integrate with our existing identity providers (e.g., Keycloak).
  • Scalable: Handles user uploads, media libraries, and document workflows—scalable for our roadmap (e.g., adding CDN caching later). We’re proposing a build vs. buy decision: this library gives us 80% of the functionality with 20% of the effort compared to a custom solution."

For Engineering:

"This is a PHP helper library for interacting with dbp/relay-blob-bundle, which provides:

  • HTTP-based blob operations (upload/download/delete files with metadata).
  • OIDC/OAuth2 auth out of the box—no need to reinvent token flows.
  • Signed URLs for secure file sharing (e.g., createSignedUrl()).
  • Flexible file handling: Supports SplFileInfo, StreamInterface, or strings for uploads.
  • Symfony/Laravel-friendly: Designed for integration with the relay-blob-bundle (though bundle docs are still in progress).

Proposed use case: Replace direct S3 calls with this for our [Project X] file storage needs. Tradeoffs:

  • Pros: Faster iteration, secure by default, open-source.
  • Cons: Limited to HTTP mode (no direct PHP SDK), early-stage docs, AGPL license. Recommendation: Pilot this for [specific feature] and evaluate performance against our benchmarks."*

Key Asks:

  • Execs: Approval to adopt for [use case] with budget for potential custom extensions.
  • Engineering: Sign-off on AGPL-3.0 license and commitment to contribute fixes/docs if needed.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui