Summary
Remove the `keikoproj/aws-sdk-go-cache` dependency from upgrade-manager. The library is built on AWS SDK for Go v1 (EOL July 2025) and provides response caching that is no longer needed.
Background
See keikoproj/instance-manager#525 for the full deprecation rationale.
TL;DR: AWS API rate limiting hasn't been an issue in practice, and AWS SDK v2's built-in standard retry mode (token-bucket rate limiting + exponential backoff) handles throttling well out of the box.
Current Usage
upgrade-manager caches only 2 operations, both with 60s TTLs:
- `AutoScaling.DescribeAutoScalingGroups` (60s)
- `EC2.DescribeLaunchTemplates` (60s)
These short TTLs provide marginal benefit over simply letting the SDK retry on throttle.
Files to Modify
- `main.go` — remove cache import and `NewCacheConfig` setup; construct AWS sessions/configs directly
- `go.mod` / `go.sum` — remove `keikoproj/aws-sdk-go-cache` dependency
Migration Path
This can be done standalone or as part of a future AWS SDK v2 migration:
- Replace `cache.NewSession()` with standard session/config construction
- AWS SDK v2 standard retry mode is the default — no extra code needed
- Run `go mod tidy` to clean up
Summary
Remove the `keikoproj/aws-sdk-go-cache` dependency from upgrade-manager. The library is built on AWS SDK for Go v1 (EOL July 2025) and provides response caching that is no longer needed.
Background
See keikoproj/instance-manager#525 for the full deprecation rationale.
TL;DR: AWS API rate limiting hasn't been an issue in practice, and AWS SDK v2's built-in standard retry mode (token-bucket rate limiting + exponential backoff) handles throttling well out of the box.
Current Usage
upgrade-manager caches only 2 operations, both with 60s TTLs:
These short TTLs provide marginal benefit over simply letting the SDK retry on throttle.
Files to Modify
Migration Path
This can be done standalone or as part of a future AWS SDK v2 migration: