Migrate to AWS SDK for GO v2 and GCP SDK

Description

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

Environment

None

Activity

Show:

Details

Assignee

Reporter

Needs QA

Yes

Fix versions

Priority

Smart Checklist

Created December 17, 2024 at 9:59 AM
Updated February 24, 2025 at 5:46 PM