softspring/google-cloud-integration-bundle
A Symfony bundle that integrates Google Cloud services into your application, providing ready-made configuration, service clients, and dependency injection wiring so you can connect to Google Cloud APIs with minimal setup.
Configuration.php and the service YAML are a useful reference for "what does a minimal credential + client-registration layer look like" when we scope our own integration.google-cloud-php SDK. That is a small amount of glue. In Symfony it saves real time; in Laravel it saves none — there is no ServiceProvider, no publishable config, no facade. This is a "buy" only where the framework matches.Configuration.php, services*.yaml) on every bump. That is a standing maintenance cost to budget, not a one-off install.Adopt (or pilot) when:
Look elsewhere when:
google-cloud-php directly plus a thin wrapper service provider that mirrors this bundle's config shape; that is a day or two of work and avoids adopting a Symfony-only dependency we cannot use idiomatically.cache:warmup, not at request time, so a pipeline that skips it will look green and fail in production.For executives. This is a small, single-maintainer Symfony bundle that centralizes Google Cloud credentials and client setup. It is not a Laravel package and does not work in our Laravel services. Its value is convenience: it saves roughly a day of configuration plumbing on Symfony. Its costs are asymmetric — AGPL-3.0 licensing that is incompatible with a closed-source or hosted commercial product, zero community traction, no release notes, and ownership of a credentials-adjacent dependency by one person. Recommendation: do not adopt as a dependency. If we need this on Symfony, replicate the ~200 lines of config and client registration ourselves under our own license and support model; if we need it on Laravel, use the official Google SDK with a small wrapper. Either route costs little and removes the legal and vendor risk entirely.
For engineering. The bundle registers google-cloud-php clients into the Symfony container with an env-driven config tree. If we do pilot it: register the bundle, copy the root config key verbatim from Configuration.php, keep credentials in ADC or workload identity rather than inline YAML, run cache:warmup and lint:container in CI, and autowire the clients — never construct SDK clients by hand, since that reintroduces exactly the credential plumbing we are paying for. Wrap each client in a narrow app-owned interface (StorageGateway, TranslationGateway) so domain code never depends on Google types, and stub the interface in services_test.yaml so CI never touches GCP. Pin an explicit minor, and on each bump diff only Configuration.php and services*.yaml — those are the real API surfaces. Add a boot-time assertion on the resolved project ID; silent ADC fallback can point at the wrong project and every test will still pass. If we skip the pilot, the same architecture applies to our own 1–2 day wrapper: config tree, DI-registered clients, interfaces, pinned SDK. Same design, no AGPL, no single-maintainer exposure.
How can I help you explore Laravel packages today?