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

Headless Shopware Varnish Cache Laravel Package

mothership/headless-shopware-varnish-cache

A Laravel package for integrating Varnish cache with headless Shopware storefronts. It helps manage cache tags, purging, and invalidation so product, category, and content updates stay fresh while keeping cached responses fast.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Unchanged. The package still targets one topology: Shopware as headless commerce backend, a Laravel storefront/BFF, and Varnish (or Varnish-compatible HTTP cache) in front. 3.0.0 does not widen that; "Shopware 6.6 compatibility" narrows the supported range rather than expanding the addressable architectures. Fit remains high only for orgs already committed to that exact stack.

Integration feasibility. Unchanged in shape — Composer install, service provider, publishable config, middleware for tag emission, listener/command for purge. Two things have shifted. First, the "example docker setup" materially de-risks the first integration step: a disposable local Shopware+Varnish+Laravel environment means the spike can validate tag propagation and purge honoring without provisioning anything. Second, a major version bump (2.0.1 → 3.0.0) means anyone already on 2.x faces a breaking upgrade, and the changelog is a single line. Feasibility for greenfield is still days. Feasibility for existing 2.x consumers is now an unestimated upgrade task until someone diffs the two tags.

Technical risk. Mixed movement. Positive: the vendor shipped after a long quiet period, and the release is a real compatibility commitment to a current Shopware major — that directly answers the question that previously had no answer. Negative: 7 stars, 0 dependents, still a single-vendor artifact (PR #8 authored by @ts-mothership, i.e. the vendor itself — no external contributor signal), and a semver-major release documented in one line is itself a risk: breaking changes are real by definition of the version number, but are undocumented. You cannot plan an upgrade from the release notes; you have to read the diff. The silent-failure characteristic of cache invalidation is unchanged — stale prices don't throw 500s.

Key questions.

  • What actually breaks between 2.0.1 and 3.0.0? Config keys, middleware signature, purge-client interface, tag format? A major bump with a one-line changelog requires a code diff before any upgrade estimate is credible.
  • Is 6.6 the current Shopware major or already one behind? If 6.6 compatibility is only landing now, the vendor is tracking Shopware's cadence reactively, and 6.7 (or whatever is next) is a known future break with no stated timeline.
  • Is any 6.5 / earlier support retained in 3.x, or did the major bump drop it? Determines whether this is an upgrade or a hard cutover for existing users.
  • Is the example docker setup shipped in the distributed package or only in the repo? If it lands in vendor/, treat it as reference material that must not reach production config.
  • Which Varnish generation and invalidation dialect (BAN vs PURGE, xkey vmod vs surrogate keys vs custom X-Cache-Tags)? Still unanswered, and the docker example is the fastest place to find out.
  • Does the package handle purge batching, debouncing, and retry? Still the dominant scaling question and not addressed by this release.
  • Is there test coverage and CI, or did the docker example arrive instead of tests? An example environment is not a test suite.
  • What is Mothership's stated maintenance commitment, and is a support contract available? One release does not constitute a cadence.

Integration Approach

Stack fit. PHP 8.x, recent Laravel, Composer, network reachability to Varnish's purge endpoint — unchanged. New constraint: pin Shopware 6.6 explicitly and confirm it is the version you actually run. If you are on 6.5, this release does not help you and may not install. The docker example gives you a working reference topology to test against; use it to answer the Varnish-dialect and header-propagation questions concretely rather than from documentation.

Migration path. Two distinct paths now.

  • Greenfield: unchanged — shadow mode (compute and log tags, emit no purges), then one low-risk surface (product detail), then category/listing, then pricing/inventory last. The docker example front-loads the environment work into step one.
  • Existing 2.x consumer: treat 3.0.0 as an unplanned project, not a patch. Diff 2.0.1...3.0.0 first, republish config into a scratch directory and diff against your live config, then run the upgrade behind the same shadow-mode harness. Do not upgrade and enable simultaneously — you will not be able to attribute a staleness regression to the version bump versus the tag logic.

Compatibility. The May-2024-era concern about Shopware drift is now partially resolved for 6.6 and unresolved going forward. Re-verify PHP constraints and PSR-3/PSR-18 dependencies against the app; a major bump is a plausible moment for a dependency floor change. With zero dependents, no one else has validated this matrix — still a first-class work item, not an assumption.

Sequencing.

  1. Diff 2.0.1 → 3.0.0. Produce a written breaking-change list before committing to any date.
  2. Stand up the example docker environment; purge a single known URL and confirm Varnish honors it.
  3. Confirm Shopware 6.6 is your running major; if not, stop and re-plan.
  4. Validate tag correctness against Shopware's entity graph — product → category → manufacturer → CMS page chains.
  5. Instrument purge volume, latency, and failure rate.
  6. Shadow deploy to staging with production-like traffic.
  7. Staged production enablement per surface, with a named owner watching cache hit ratio.
  8. Runbook and rollback procedure written before step 7.

Operational Impact

Maintenance. Slightly improved signal, same structural position. The vendor is demonstrably alive and willing to do compatibility work, which lowers — but does not eliminate — the fork-and-own risk. The release cadence is still slow enough that you should assume vendor maintenance happens on request rather than continuously. Budget a standing allocation for Composer updates, Shopware major bumps, and Varnish upgrades. Price the fork-and-own option early: a small codebase that ships a one-line changelog for a major version is a codebase you may end up reading in full anyway.

Support. Unchanged. No visible community, no dependents, no evidence of an active issue tracker, single-vendor authorship on the one PR in this release. Escalation is direct to Mothership. Negotiate a support arrangement or accept internal ownership as the actual model. Do not plan around community answers that will not exist.

Scaling. Unchanged and untouched by this release. Invalidation scales with write volume. The failure mode to design for is a purge storm — a PIM sync of tens of thousands of SKUs emitting one purge per entity — requiring batching, debouncing, and a deliberate tag-coarseness strategy. 3.0.0 does not advertise batching or debouncing, so assume you own it. App-side tag computation and purge fan-out remain the bottlenecks; Varnish itself is fine.

Failure modes.

  • Silent staleness from dropped or malformed tags — still the highest-likelihood, hardest-to-detect failure.
  • New: undocumented breaking changes in 3.0.0 that install cleanly and fail at runtime, e.g. changed config keys silently falling back to defaults or changed tag formats invalidating nothing.
  • Over-purging after tag-logic changes, driving origin spikes and hit-ratio collapse.
  • Purge endpoint unreachable → backlog or dropped invalidations, depending on queueing.
  • Tag drift after the next Shopware upgrade — now a known category of break with a demonstrated one-release lag, not a hypothetical.
  • Varnish ACL misconfiguration exposing the purge endpoint; a docker example shared into production config is a live path to this.

Alert on purge failure rate, purge request volume anomalies, and cache hit ratio regression — not HTTP 5xx.

Ramp-up. Marginally faster. A mid-level Laravel engineer can install and issue a purge in a day, and the docker example removes most environment friction from that day. Real proficiency still requires understanding Shopware's entity relationships and Varnish's invalidation semantics — one to two weeks for the owner. TPM action: use the 3.0.0 release as the trigger to re-run the version-matrix review and train the second person, because a single-owner dependency on a zero-dependent package just gained a breaking major version, and the operational risk sits with you, not the vendor.

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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel