Skip to content

feat: Add AWS S3 scaler - #7899

Draft
parthmerchant wants to merge 1 commit into
kedacore:mainfrom
parthmerchant:feat/aws-s3-scaler
Draft

feat: Add AWS S3 scaler#7899
parthmerchant wants to merge 1 commit into
kedacore:mainfrom
parthmerchant:feat/aws-s3-scaler

Conversation

@parthmerchant

Copy link
Copy Markdown

Provide a description of what has been changed

Checklist

  • When introducing a new scaler, I agree with the scaling governance policy
  • I have verified that my change is according to the deprecations & breaking changes policy
  • Tests have been added (if applicable)
  • Ensure make generate-scalers-schema has been run to update any outdated generated files
  • Changelog has been updated and is aligned with our changelog requirements, only when the change impacts end users
  • A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
  • A PR is opened to update the documentation on (repo) (if applicable)
  • Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #

Relates to #

Add a new `aws-s3` scaler that scales a workload on the number of objects
in an S3 bucket, using the S3 ListObjectsV2 API.

The implementation follows the existing AWS SQS queue scaler for its auth,
endpoint and typed-config plumbing, and the Azure Blob scaler for its
object-counting semantics:

- `bucketName` (required), `targetObjectCount` (default 5),
  `activationTargetObjectCount` (default 0)
- `prefix`, `delimiter` (default "/") and `recursive` to control how the
  bucket is walked; `globPattern` to count only matching keys
- `awsRegion` / `awsEndpoint` and the shared AWS authorization helpers, so
  IRSA/pod-identity and static credentials both work; a custom endpoint
  enables path-style addressing for S3-compatible stores
- results are paginated via the SDK's ListObjectsV2 paginator

Includes unit tests covering metadata parsing/defaults, metric spec naming,
delimiter vs. glob counting, pagination and error handling, plus a CHANGELOG
entry and registration in the scalers builder.

Signed-off-by: parthmerchant <parth@parthmerchant.com>
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Thank you for your contribution! 🙏

Please understand that we will do our best to review your PR and give you feedback as soon as possible, but please bear with us if it takes a little longer as expected.

While you are waiting, make sure to:

  • Add an entry in our changelog in alphabetical order and link related issue
  • Update the documentation, if needed
  • Add unit & e2e tests for your changes
  • GitHub checks are passing
  • Is the DCO check failing? Here is how you can fix DCO issues

Once the initial tests are successful, a KEDA member will ensure that the e2e tests are run. Once the e2e tests have been successfully completed, the PR may be merged at a later date. Please be patient.

Learn more about our contribution guide.

@keda-automation
keda-automation requested review from a team July 2, 2026 16:48
@snyk-io

snyk-io Bot commented Jul 2, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@rickbrouwer

Copy link
Copy Markdown
Member

Please also create an issue with a feature request including some explanation. You can then link this to this PR.

The issue will then be listed in the CHANGELOG.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants