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.
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.
vendor/, treat it as reference material that must not reach production config.xkey vmod vs surrogate keys vs custom X-Cache-Tags)? Still unanswered, and the docker example is the fastest place to find out.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.
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.
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.
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.
How can I help you explore Laravel packages today?