feat(gcp): add parameter manager support#1808
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for Google Cloud Parameter Manager by refactoring the existing GCP provider into a shared AbstractGcpProvider base class and adding the new GcpParameterManagerProvider. It also updates the sample applications, setup/teardown scripts, and tests to support both Secret Manager and Parameter Manager backends. Feedback on these changes highlights several issues: locationId in GcpProviderOptions needs a default value of "global" to prevent null pointer exceptions; the Parameter Manager setup script contains broken update and versioning logic; redundant log statements should be cleaned up; synchronizing on this during blocking network calls creates a performance bottleneck; and the teardown script's deletion chaining is risky and should be decoupled.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
@toddbaert @aepfli this now adds parameter manager support to gcp provider. |
|
Approving; pushed a small fixup to revert the manual version bumps (release-please owns those) and wire samples/gcp/pom.xml into the release-please config so the sample's dep version bumps automatically. Also opened 2 recommendations... this one in particular I'd really like to see done before release (unless I'm missing something). Once this is merged, I can merge the pending "release please" PR, which will release the package. |
thank you @toddbaert ive incorporated all comments |
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
1. add location id to options as gcp params require location 2. fixed parameter manager classes to use common gcp classes post refactor Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
… of creating new versoin2. locationId default to prevent null pointers3. update references to stale GcpParameterManagerOptions Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
…of this ffor performance reasons Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Mahesh Patil <17205424+mahpatil@users.noreply.github.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Make FlagCache final and move construction to the constructor so the lock object in fetchWithCache is stable. Guard initialize() with AtomicBoolean to throw GeneralError on double-init, matching repo convention. Fix GcpProviderOptions error message prefix and add double-init test. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
Signed-off-by: Mahesh Patil <maheshfinity@gmail.com>
0797766 to
ac82334
Compare
|
Thanks @mahpatil . Will merge and release. |
This PR
Adds a GCP Parameter Manager support to the GCP Provider that reads feature flags from GCP Parameter Manager config.
Includes updates to sample application under samples/gcp/ with setup/teardown script
Package: providers/gcp
Class: GcpParameterManagerProvider
Supports all OpenFeature flag types via structured or plain-text secret values
Configurable poll interval and GCP project settings
Related Issues
Fixes GCP services covered under #1420
Notes
This builds on top of the previous PR that added support for GCP Secret manager.
Follow-up Tasks
How to test