Skip to content

feat: Backport parameter manager changes to 6.x#4157

Merged
jinseopkim0 merged 3 commits into6.xfrom
backport-parameter-manager-6.x
Sep 29, 2025
Merged

feat: Backport parameter manager changes to 6.x#4157
jinseopkim0 merged 3 commits into6.xfrom
backport-parameter-manager-6.x

Conversation

@jinseopkim0
Copy link
Copy Markdown
Contributor

Backports the following PRs to 6.x: #3699, #3684, #4127

@jinseopkim0 jinseopkim0 requested a review from a team as a code owner September 26, 2025 16:41
@google-cla
Copy link
Copy Markdown

google-cla Bot commented Sep 26, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

suvidha-malaviya and others added 3 commits September 26, 2025 12:50
… parameter manager (#3684)

* feat(paramconfig): added support for remote configuration using the gcp parameter manager

* feat(paramconfig): minor fix

* feat(paramconfig): updated with render parameter method

* feat(parameter): updated with parameter naming convention

* feat(parameter): updated with parameter naming convention

* feat(parametermanager): addressed review comments

* fix(parametermanager): Updated README for Parameter Manager sample

* fix(parametermanager): Update path of the file in README.adoc

* fix: update spring-cloud-gcp version

* fix: path to the suppressions file for maven-checkstyle-plugin

* chore: update spring-cloud-gcp versions to 7.0.1-SNAPSHOT

* feat(paramconfig): Update parameter.adoc file

---------

Co-authored-by: Jin Seop Kim <[email protected]>
…#3699)

Issue:
[#3698](#3698)

**Description**
This pull request introduces a feature to the Spring Cloud GCP library,
adding support for the parameter manager module. This enhancement
enables the library to resolve the parameter presented in GCP Parameter
Manager in the `application.properties` file and using the `@Value`
annotation. It also expose the CRUD methods for the Parameter Manager.
It will be implemented the same way as `secretmanager` is implemented.

**Proposed Changes:**
- Add the support of `parametermanager` module in the s`pring-cloud-gcp`
which provides below functionality.
- Inject parameter from Parameter Manager using `@Value` annotation with
specified path i.e `pm@pm@global/my-param/v1`
- Resolve the parameter from the Parameter Manager specified in the
`application.properties` file
- Expose the methods for `createParameter`, `enableParameterVersion`,
`disableParameterVersion`, `deleteParameterVersion`,
`getParameterString`, `deleteParameter`,
`renderedParameterVersionString`
- Add sample application which uses `parametermanager` to showcase the
usecases
- Add the documentation to reflect the new capabilities of
`parametermanager`

Refer to the
[parametermanager.adoc](https://github.com/GoogleCloudPlatform/spring-cloud-gcp/blob/2aecef8378274397ee667dd1a9fbcf72da43355d/docs/src/main/asciidoc/parametermanager.adoc)
file for detailed documentation.

Performed the below mentioned manual unit tests to validate the working
of the global and regional parameter operations.
* Create parameter with given location, parameterId, version and payload
* Create parameter with given project, location, parameterId, version
and payload
* Create parameter with given location, parameterId, version and
payload, format
* Create parameter with given project, location, parameterId, version
and payload, format
* Create parameter with given location, parameterId, version and payload
and invalid projectId (project on which user doesn't have access)
* Enable parameter version with given location, parameterId and version
* Enable parameter version with given project, location, parameterId and
version
* Disable parameter version with given location, parameterId and version
* Disable parameter version with given project, location, parameterId
and version
* Delete parameter with location and parameterId
* Delete parameter with project, location and parameterId
* Delete parameter version with location, parameterId and version
* Delete parameter version with project, location, parameterId and
version
* Check if parameter exist with location and parameterId
* Check if parameter exist with project, location and parameterId
* Check if parameter version exist with location, parameterId and
version
* Check if parameter version exist with project, location, parameterId
and version
* Read parameter with parameter Identifier
* Render parameter with parameter Identifier
* Inject with `@value` annotation
* Read parameter with project, location, parameterId and version for
other project using service account
* Check parameter resolution mentioned in the `application.properties`.

More information about parameter manager:
https://cloud.google.com/secret-manager/parameter-manager/docs/overview
…ry' (#4127)

Issue:
[#4117](#4117)

Changes:

- Make Parameter Manager as `optional dependency` in AutoConfigure
module.
- Changed the `clientFactory` bean name for both Secret Manager and
Parameter Manager.
- Added logic to resolve the registered bean in `spring.factories` only
if the class is present in the classpath for Parameter Manager.
- Added parameter manager module and starter module in
`spring-cloud-gcp-dependencies`.

Testing:
- [x] Created project which uses secretManager
- [x] Created project which uses parameterManager
- [x] Created project which uses secretManager and parameterManager
@jinseopkim0 jinseopkim0 force-pushed the backport-parameter-manager-6.x branch from 97affdc to 4f11254 Compare September 26, 2025 16:51
@sonarqubecloud
Copy link
Copy Markdown

@jinseopkim0 jinseopkim0 enabled auto-merge (squash) September 26, 2025 17:27
@jinseopkim0 jinseopkim0 merged commit e2708e6 into 6.x Sep 29, 2025
109 of 110 checks passed
@jinseopkim0 jinseopkim0 deleted the backport-parameter-manager-6.x branch September 29, 2025 15:36
jinseopkim0 added a commit that referenced this pull request Sep 30, 2025
🤖 I have created a release *beep* *boop*
---


##
[6.4.0](v6.3.4...v6.4.0)
(2025-09-30)


### Features

* Backport parameter manager changes to 6.x
([#4157](#4157))
([e2708e6](e2708e6))


### Dependencies

* Update libraries-bom to v26.69.0
([#4164](#4164))
([965d979](965d979))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Jin Seop Kim <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants