Open-source project
GoogleCloudPlatform/spring-cloud-gcp avatar
GoogleCloudPlatform/spring-cloud-gcp

Spring Cloud GCP binds Spring Boot to Google Cloud services one starter at a time

New home for Spring Cloud GCP development starting with version 2.0.

554 stars353 forksJavaApache-2.0

At a glance

What is it?
Spring Cloud GCP is the Google Cloud Platform project for running Spring applications on Google Cloud, and it is structured as a set of Spring Boot starters plus the underlying libraries for Pub/Sub, Spanner, Datastore, Firestore, Storage, Vision, Cloud SQL, Secret Manager, Logging, Config and the Firebase and IAP authentication integrations. The current line is 8.2.4.
Who is it for?
Adopt Spring Cloud GCP if your application is already on Spring Boot and you want Google Cloud services wired in through managed configuration rather than hand-written clients. Skip it if you are on a different runtime, or if you want the raw Google client libraries with no Spring dependency.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A set of starters rather than one large integration

Spring Cloud GCP is a set of focused modules rather than a single library, and the top-level directories show how the pieces are carved up. There are `spring-cloud-gcp-pubsub/`, `spring-cloud-gcp-pubsub-stream-binder/`, `spring-cloud-gcp-storage/`, `spring-cloud-gcp-data-spanner/`, `spring-cloud-gcp-data-datastore/`, `spring-cloud-gcp-data-firestore/`, `spring-cloud-gcp-vision/`, `spring-cloud-gcp-bigquery/`, `spring-cloud-gcp-kms/`, `spring-cloud-gcp-logging/`, `spring-cloud-gcp-parametermanager/`, `spring-cloud-gcp-secretmanager/`, `spring-cloud-gcp-security-firebase/`, `spring-cloud-gcp-security-iap/`, `spring-cloud-gcp-cloudfoundry/` and `spring-cloud-gcp-core/`. Alongside them sit `spring-cloud-gcp-autoconfigure/`, `spring-cloud-gcp-dependencies/`, a `spring-cloud-gcp-starters/` directory, `spring-cloud-generator/`, `spring-cloud-previews/`, `spring-cloud-spanner-spring-data-r2dbc/`, plus `src/`, `util/`, `docs/`, `tests/` and `samples`. The primary language is Java and the licence is Apache 2.0.

The starters directory is the menu of what you can pull in

The practical entry point for most users is the starters set, and the README enumerates what is on offer. There is a plain GCP Support starter, then Google Cloud Config, marked as Beta, then starters for Cloud Spanner, Cloud Datastore, Cloud Firestore, Cloud Logging, Pub/Sub, Cloud SQL MySQL, Cloud SQL PostgreSQL, Cloud Storage, Secret Manager, Firebase Authentication, IAP Authentication and the Vision API. The design follows the Spring Boot convention, where a starter brings in an auto-configuration module and the client library behind it, and the `spring-cloud-gcp-autoconfigure/` directory is where that shared behaviour lives. The Pub/Sub module is described as including Spring Integration Channel Adapters, and the Storage module is described as a Spring Resource Abstraction for Google Cloud Storage, also with Spring Integration Channel Adapters, which tells you the messaging and resource abstractions are the two integration styles on offer. The existence of `spring-cloud-generator/` suggests code generation for new service bindings, and `spring-cloud-previews/` is where preview features would live, which is a useful signal about what is considered stable.

Pub/Sub arrives in two shapes, and that difference matters

Pub/Sub support is split across two modules, and the distinction is the most interesting design decision in the project. The `spring-cloud-gcp-pubsub/` module gives you a `PubSubTemplate` and Spring Integration Channel Adapters, which is the route to take when your application already uses Spring Integration and you want the topics and subscriptions to sit in a message flow. The `spring-cloud-gcp-pubsub-stream-binder/` module is a Spring Cloud Stream binder, which is the route to take when you are writing a function-style application and want Pub/Sub to be one of several messaging backends behind a single abstraction. The choice determines how much of your configuration is Spring Integration and how much is Spring Cloud Stream, and it is not a decision you can defer, because the two paths give you different programming models even though they end up talking to the same Google service. For a team arriving at Google Cloud from elsewhere, that difference is worth settling before writing the first consumer.

The version matrix is the real constraint on adoption

The compatibility table at the end of the README is the part to read before anything else, because Spring Cloud GCP pins three upstream version trains at once. The 8.x line pairs with Spring Cloud 2025.1.x, code-named Oakwood, with Spring Boot 4.0.x and 4.1.x, and requires Spring Framework 7.0.0 or above. The 7.x line pairs with Spring Cloud 2025.0.x, Northfields, with Spring Boot 3.5.x and Spring Framework 6.2.8 or above. The 6.x line pairs with Spring Cloud 2024.0.x, Moorgate, with Spring Boot 3.4.x and Spring Framework 6.2.0 or above. The 5.x line pairs with Spring Cloud 2023.0.x, Leyton, with Spring Boot 3.2.x and 3.3.x, with an exception noted for trace, and Spring Framework 6.1.x. Every line is marked as supported. The practical implication is that the choice of Spring Cloud GCP version is not yours, it is dictated by the Spring Boot and Spring Framework versions your application already runs, and a team on Spring Boot 3.5 lands on the 7.x line while a team on Spring Boot 4.0 lands on 8.x.

Learning by doing, and where the documentation actually lives

The project points you at two different places to learn. The sample applications live in `spring-cloud-gcp-samples/` inside the repository, and the README describes them as the place to start if you prefer to learn by doing. There is also a set of codelabs hosted on Google's codelabs site for Spring on Google Cloud, which is a guided path rather than source to read. For the reference documentation there are two sources. The Google Cloud Reference Documentation is published per version, with links for 8.2.4, 7.4.10, 6.5.10, 5.13.11, 4.11.3 and 3.9.17, which is a long tail of maintained versions rather than just the current one. The Javadocs are published separately at a `latest` URL. The project website is at spring.io, and the README describes the aim plainly: making it easy for Spring users to run their applications on Google Cloud. The primary language of the codebase is Java, and the repository uses a Maven wrapper with `mvnw` and `mvnw.cmd` at the root and a `pom.xml`.

Where the integration stops, and what it leaves you

The scope is broader than the starters, and it is worth knowing which parts of Google Cloud the project does not reach. The module list covers messaging, the three data stores, storage, the Vision API, BigQuery, KMS, logging, parameter manager, Secret Manager, the two authentication integrations and Cloud SQL through the MySQL and PostgreSQL starters, plus a Cloud Foundry module. What is not in that list is telling. There is no module for Cloud Run or App Engine deployment, for GKE, for BigQuery streaming, for Pub/Sub ordering keys or for anything to do with machine learning. Some of that absence is a deliberate scope choice and some of it is a gap, and the README does not distinguish. The second limit is the operational one. Spring Cloud GCP is a client-side integration, so the resilience, quotas and retry behaviour you inherit are those of the underlying Google client libraries and of Spring's own retry and circuit breaker behaviour, not something this project adds. If your concern is what happens when a Cloud Spanner transaction times out, the documentation here does not answer it.

Maintenance signals and the project's own conventions

The project is active, and the release pattern shows it. The listed releases are v8.2.4 on 2026-10-09, v8.2.3 on 2026-10-08 and v8.2.2 on 2026-10-02, so patch releases are arriving roughly weekly on the current line, and the last push to the repository was on 2026-10-19. The continuous integration is visible in the README badges, with separate workflows for unit tests, integration tests and SonarCloud analysis, and a quality gate status badge pointing at the SonarCloud dashboard. The repository also carries `renovate.json`, which is how the dependency updates get proposed, a `CHANGELOG.md`, a `SECURITY.md`, a `CODE_OF_CONDUCT.adoc` and a `CONTRIBUTING.md` that the README asks contributors to read before opening a pull request. The `.kokoro/` directory is the build infrastructure, and there is an `AGENTS.md` at the root, which is worth opening before contributing. The Apache 2.0 licence carries no copyleft obligation for the applications you build with it.

Editorial conclusion

Adopt Spring Cloud GCP if your application is already on Spring Boot and you want Google Cloud services wired in through managed configuration rather than hand-written clients. Skip it if you are on a different runtime, or if you want the raw Google client libraries with no Spring dependency. Before you commit, check the compatibility table against the Spring Cloud, Spring Boot and Spring Framework versions you actually run, because each line of Spring Cloud GCP pins an exact set of those three.

Frequently asked questions

What does Spring Cloud GCP provide?

It is the Google Cloud Platform project for running Spring applications on Google Cloud. It supplies Spring Boot starters and underlying libraries for Pub/Sub and its stream binder, Cloud Storage, Cloud Spanner, Cloud Datastore, Cloud Firestore, the Vision API, Cloud SQL for MySQL and PostgreSQL, Secret Manager, Cloud Logging, Cloud Config, and Firebase and IAP authentication.

Which Spring versions does Spring Cloud GCP 8.x support?

The 8.x line pairs with Spring Cloud 2025.1.x, Spring Boot 4.0.x and 4.1.x, and requires Spring Framework 7.0.0 or above. The 7.x line targets Spring Cloud 2025.0.x with Spring Boot 3.5.x and Spring Framework 6.2.8 or above.

What is the difference between the Pub/Sub module and the Pub/Sub stream binder?

The `spring-cloud-gcp-pubsub` module provides a template and Spring Integration Channel Adapters, while `spring-cloud-gcp-pubsub-stream-binder` is a Spring Cloud Stream binder, which suits function-style applications that treat Pub/Sub as one messaging backend among several. They use different programming models even though both talk to Pub/Sub.

How do I start learning Spring Cloud GCP?

The README points at the sample applications in `spring-cloud-gcp-samples/` inside the repository for learning by doing, and at the Spring on Google Cloud codelabs for a guided path. The reference documentation is published per version on Google Cloud Reference Documentation, and the Javadocs are published separately.

Official sources

  1. GoogleCloudPlatform/spring-cloud-gcp on GitHub
  2. Issues
  3. License: Apache-2.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/googlecloudplatform-spring-cloud-gcp.svg)](https://hysenlabs.com/projects/googlecloudplatform-spring-cloud-gcp)

Was this useful?