Skip to content

chore: remove aws-sdk-go-cache dependency #544

Description

@tekenstam

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions