spring-cloud/spring-cloud-config
Add Google Cloud Parameter Manager environment repository
Contribution Overview
The Engineering Context
This contribution was made to the spring-cloud/spring-cloud-configopen-source repository. The work involved understanding the existing codebase, identifying the underlying engineering problem, implementing a focused solution, and validating the change against the project's existing behaviour and testing standards.
Original Issue
Add support for Google Cloud Parameter Manager as a Spring Cloud Config environment repository.
Spring Cloud Config needed support for resolving externalized configuration from Google Cloud Parameter Manager through the existing EnvironmentRepository abstraction.
Engineering Problem
Understanding the Problem
Spring Cloud Config supported multiple external configuration backends, but did not provide an EnvironmentRepository implementation for Google Cloud Parameter Manager. Applications using Parameter Manager could not use it as a native configuration source through the Spring Cloud Config Server infrastructure.
Solution
Implementation Approach
Added Google Cloud Parameter Manager support by introducing configuration properties, a GoogleParameterManagerEnvironmentRepository, and a corresponding factory. Registered the repository conditionally when ParameterManagerClient is available, added profile-based activation, and implemented parameter resolution using application and profile labels. Added unit tests covering parameter retrieval and rendering.
Technologies
Engineering Stack
Pull Request
View the Contribution
View the pull request and the associated engineering discussion directly on GitHub.
View Pull Request on GitHub →