Weave 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

Aws Bundle Laravel Package

jlm/aws-bundle

JLM AWS Bundle integrates Amazon Web Services with PHP applications, offering configuration and service wiring for AWS clients so you can add cloud storage, messaging, and other AWS-backed features with less boilerplate. It streamlines setup and keeps AWS access consistent across your app.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — poor, and structurally mismatched. jlm/aws-bundle is a Symfony2 bundle, not a Laravel package. It ships a DependencyInjection extension, services.xml-style service wiring, and a JLMAwsBundle kernel registration — none of which have an equivalent in Laravel, which abandoned bundles in favor of service providers in 2013. There is no ServiceProvider, no facade, no publishable config, no composer.json extra.laravel block. Making it work in Laravel means writing a bridge that boots a Symfony DI container inside the Laravel container: two competing service registries, two config systems, and two lifecycle models. That is architectural debt incurred before a single AWS call is made.

Integration feasibility — effectively zero as-shipped. The bundle wraps AWS SDK for PHP 2.x, whose namespaces (Aws\Common\*, Aws\S3\S3Client::factory()) were removed in SDK 3.x (released 2015). SDK 2.x pins Guzzle 3 and targets PHP 5.3–5.6. On any current Laravel stack (PHP 8.2/8.3, Laravel 10/11) Composer will fail to resolve, and even a force-install would hit fatal errors from removed PHP functions and Guzzle 3's incompatible stream/PSR layer.

Technical risk — high and unmitigated. Archived, last release 2014-02-14, zero stars, zero dependents: no security patching, no CVE response, no maintainer. The 0.81 score and 1.07 "opportunity" figure reflect a stale heuristic, not viability — an archived package with no dependents is evidence of abandonment, not latent demand. The underlying SDK carries additional decay risk: Signature V2 support, path-style S3 addressing, and legacy TLS defaults are all being retired by AWS, which turns this dependency into a scheduled outage.

Key questions for the requesting team:

  • Which concrete capabilities are needed — S3, SES, SQS, SNS? Each has a first-party or well-maintained Laravel path.
  • Is this a greenfield ask or a legacy application already pinned to PHP 5.x/Symfony 2? The answer completely changes the recommendation.
  • If legacy: what is the blast radius of the existing bundle usage — how many service IDs are actually injected?
  • What is the compliance posture on unsupported dependencies with no security patch channel?

Integration Approach

Stack fit. Laravel already covers the common AWS surface natively: the s3 filesystem driver via Flysystem's League\Flysystem\AwsS3V3, the SES mail transport, and the SQS queue driver all wrap aws/aws-sdk-php v3 directly. For anything outside those, bind Aws\Sdk as a singleton in a service provider and inject typed clients. That is ~40 lines and replaces this bundle entirely with something maintainable.

Migration path. Do not install this package. If an existing application depends on it, treat the bundle as a porting reference, not a dependency:

  1. Inventory the service IDs the bundle registers and the ones actually consumed.
  2. Map each to its SDK v3 equivalent (client factories become Aws\Sdk construction; Aws\Common\* becomes Aws\*).
  3. Replace S3/SQS/SES usage with Laravel's native drivers where the abstraction is sufficient; keep direct SDK clients where it isn't.
  4. Delete the bundle and its transitive Guzzle 3 tree.

Compatibility. No path to PHP 8.x or Laravel 9+ without forking and rewriting both the DI glue and the SDK boundary — at which point you have written a new package and inherited the maintenance of the old one's name.

Sequencing. Capability audit → SDK v3 migration spike (validate credentials, region config, and the specific operations in use) → swap to native drivers/provider bindings → remove legacy bundle → add integration tests against a real bucket/queue in a non-prod account. Budget roughly 2–5 engineer-days for a typical S3/SQS/SES footprint; double it if custom S3 presigning or multipart logic is in play.

Operational Impact

Maintenance. Zero upstream. Archived means you own every future change, including PHP minor-version breakage and AWS API drift. The realistic steady-state cost is a low-frequency, high-urgency fire drill rather than predictable upkeep.

Support. No security response channel. Credential-handling code frozen in 2014 will not receive fixes for AWS auth changes; your security team cannot get a patched version because none will exist.

Scaling. SDK 2.x's Guzzle 3 base lacks the promise/async ergonomics and credential-provider chain of v3, so parallel uploads and instance-role credential refresh are hand-rolled. Connection reuse and retry/backoff behavior are weaker, which shows up as tail latency and throttling errors under load rather than at low volume — the failure appears when you can least afford it.

Failure modes. Silent auth failures when SigV2 is fully retired; region/endpoint drift as AWS adds partitions; PHP 8 fatals from removed functions at bootstrap; and Composer lock conflicts that block unrelated dependency upgrades, effectively freezing the whole application's patch cadence.

Ramp-up. The bundle itself is small and learnable in an hour; the cost is the opposite direction — engineers must context-switch into 2013-era Symfony DI conventions and SDK 2.x idioms that no longer appear in documentation, and then unlearn them. That is negative knowledge transfer.

Recommendation: reject. Do not adopt. The correct decision is aws/aws-sdk-php v3 plus Laravel's native drivers, with a thin provider for anything uncovered. The only defensible use of this repository is as a read-only reference during a migration off it.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package