PBM currently uses AWS SDK for GOlang version 1, which is becoming EOL July 2025:
The SDK will no longer receive updates or releases. Previously published releases will remain available via public package managers, and the code will remain on GitHub.
The risk is that if we stay on v1, we’ll be vulnerable to security issues and reported to software scanners, which will lower our reputation.
Solution hypothesis
The AWS SDK for Go has been updated to take advantage of the Go modules which became the default development mode in Go 1.13. A number of packages provided by the SDK have been modularized and are independently versioned and released respectively. This change enables improved application dependency modeling, and enables the SDK to provide new features and functionality that follows the Go module versioning strategy.
Problem description
PBM currently uses AWS SDK for GOlang version 1, which is becoming EOL July 2025:
The SDK will no longer receive updates or releases. Previously published releases will remain available via public package managers, and the code will remain on GitHub.
The risk is that if we stay on v1, we’ll be vulnerable to security issues and reported to software scanners, which will lower our reputation.
Solution hypothesis
The AWS SDK for Go has been updated to take advantage of the Go modules which became the default development mode in Go 1.13. A number of packages provided by the SDK have been modularized and are independently versioned and released respectively. This change enables improved application dependency modeling, and enables the SDK to provide new features and functionality that follows the Go module versioning strategy.
See a detailed migration guide: https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/migrate-gosdk.html#features
All other references: https://docs.aws.amazon.com/sdk-for-go/
As AWS SDK v2 doesn’t support any longer GCS - we need to leverage native GCP SDK to support GCS storage.
Functional and non-functional requirements
All existing PBM functionality remains the same
Unit-testability is leveraged to improve test coverage:
Success criteria
No performance degradation
Unit test coverage improved
PBM entirely uses AWS SDK v2
Dependencies
<Identify other projects, teams, or tasks the epic relies on or is linked to, ensuring smooth execution and integration>
Unknown