# kedacore/keda

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kedacore-keda).**

10,314 stars · 1,444 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/kedacore/keda
- Homepage: https://keda.sh
- awesome-repositories: https://awesome-repositories.com/repository/kedacore-keda.md

## Topics

`autoscaling` `event-driven` `hacktoberfest` `keda` `kubernetes` `serverless`

## Description

KEDA is a Kubernetes event-driven autoscaler and cloud event scaling engine. It functions as a custom metrics provider that monitors external event sources—including message brokers, databases, and cloud metrics—to dynamically adjust the replica counts of containerized workloads.

The project is distinguished by its scale-to-zero workflow, which reduces workloads to zero replicas during inactivity and automatically restarts them when new events are detected. It operates as a multi-cloud event trigger system, using a pluggable scaler interface to integrate with a wide array of third-party services and cloud identity providers.

The system manages the scaling of various resource types, including deployments and discrete Kubernetes jobs. It provides comprehensive identity and authentication support via integration with cloud secret managers, IAM roles, and vault services. Additionally, it includes observability features for exporting telemetry via OpenTelemetry and tools for calculating complex scaling logic using multi-source metric aggregation.

## Tags

### Data & Databases

- [Event-Driven Autoscalers](https://awesome-repositories.com/f/data-databases/horizontal-scaling/replica-scaling/kubernetes-horizontal-pod-autoscalers/event-driven-autoscalers.md) — Provides a Kubernetes event-driven autoscaling engine that scales workloads based on external event sources, including scaling to zero.
- [External Metric Translation](https://awesome-repositories.com/f/data-databases/horizontal-scaling/replica-scaling/kubernetes-horizontal-pod-autoscalers/external-metric-translation.md) — Acts as an intermediary that translates external event data into metrics the Kubernetes horizontal pod autoscaler understands.
- [Scaling Metric Aggregation](https://awesome-repositories.com/f/data-databases/data-source-connectivity-tools/multi-source-data-aggregation/scaling-metric-aggregation.md) — Combines signals from multiple event triggers using mathematical formulas to calculate a single target replica value.
- [Query-Based Scalers](https://awesome-repositories.com/f/data-databases/database-connectivity/dynamodb-connectors/query-based-scalers.md) — Provides the ability to scale workloads based on the number of items returned by DynamoDB queries. ([source](https://keda.sh/docs/2.20/scalers/aws-dynamodb/))
- [Stream-Based Scalers](https://awesome-repositories.com/f/data-databases/database-connectivity/dynamodb-connectors/stream-based-scalers.md) — Adjusts pod counts based on the shard count of DynamoDB streams to match data demand. ([source](https://keda.sh/docs/2.20/scalers/aws-dynamodb-streams/))
- [Replica Calculation Strategies](https://awesome-repositories.com/f/data-databases/horizontal-scaling/replica-scaling/replica-calculation-strategies.md) — Adjusts how job replicas are calculated using strategies to handle queue lengths and locked messages. ([source](https://keda.sh/docs/2.20/reference/scaledjob-spec/))
- [Blob Count Scaling](https://awesome-repositories.com/f/data-databases/storage-scaling/blob-count-scaling.md) — Adjusts the number of active pods based on the number of files in a storage container. ([source](https://keda.sh/docs/2.20/scalers/azure-storage-blob/))

### DevOps & Infrastructure

- [Zero-Instance Scaling](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling/compute-instance-scaling/zero-instance-scaling.md) — Implements a core scale-to-zero workflow that reduces workloads to zero replicas during inactivity. ([source](https://keda.sh/docs/1.5/))
- [Workload Scheduling and Scaling](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/workload-scheduling-scaling.md) — Adjusts the number of pod instances based on metrics from external event sources. ([source](https://keda.sh/docs/2.20/concepts/))
- [Event-Driven Autoscaling](https://awesome-repositories.com/f/devops-infrastructure/event-driven-autoscaling.md) — Scales containerized workloads based on external events from message brokers, databases, or cloud metrics.
- [Scale-to-Zero Activation](https://awesome-repositories.com/f/devops-infrastructure/scale-to-zero-activation.md) — Implements a core workflow that reduces workloads to zero replicas during inactivity and activates them upon new events. ([source](https://keda.sh/docs/2.19/))
- [Event-Driven Job Scaling](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling/event-driven-job-scaling.md) — Triggers and manages the scaling of jobs based on external event sources to process workloads dynamically. ([source](https://keda.sh/docs/2.20/reference/scaledjob-spec/))
- [Cloud Event Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cloud-event-orchestration.md) — Provides an orchestration engine that monitors message brokers, databases, and cloud metrics to trigger real-time container scaling.
- [Cloud-Metric-Based Auto Scaling](https://awesome-repositories.com/f/devops-infrastructure/cloud-metric-based-auto-scaling.md) — Adjusts pod counts based on AWS CloudWatch metrics using specific namespaces, dimensions, or queries. ([source](https://keda.sh/docs/2.20/scalers/aws-cloudwatch/))
- [Composite Scaling Logic](https://awesome-repositories.com/f/devops-infrastructure/composite-scaling-logic.md) — Composes multiple metrics using mathematical formulas, conditional logic, and failover operators to determine target replica values. ([source](https://keda.sh/docs/2.20/concepts/scaling-deployments/))
- [Custom Resource Scaling](https://awesome-repositories.com/f/devops-infrastructure/custom-resource-scaling.md) — Uses Kubernetes custom resources to define scaling triggers and target workloads for event-driven automation.
- [Event-Driven Job Scaling](https://awesome-repositories.com/f/devops-infrastructure/event-driven-job-scaling.md) — Triggers and scales the number of background jobs in response to specific external events. ([source](https://keda.sh/docs/2.20/reference/))
- [Message Queue Scaling](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-scaling/message-queue-scaling.md) — Monitors message counts across various queues via API to adjust workload replicas. ([source](https://keda.sh/docs/2.20/scalers/activemq/))
- [Event-Driven](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/event-driven.md) — Triggers the creation and scaling of Kubernetes jobs in response to discrete external events.
- [Kubernetes Job Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments/kubernetes-application-deployments/kubernetes-job-orchestration.md) — Orchestrates the creation and execution of isolated Kubernetes jobs in response to external events. ([source](https://keda.sh/docs/latest/))
- [Metric Aggregators](https://awesome-repositories.com/f/devops-infrastructure/metric-aggregators.md) — Consolidates metrics from multiple event sources using operations like maximum, minimum, average, or sum. ([source](https://keda.sh/docs/2.20/reference/scaledjob-spec/))
- [Multi-Cloud Event Trigger Systems](https://awesome-repositories.com/f/devops-infrastructure/multi-cloud-event-trigger-systems.md) — Provides a framework for connecting Kubernetes workloads to diverse cloud event sources using integrated scalers and identity providers.
- [Multi-Workload Scaling](https://awesome-repositories.com/f/devops-infrastructure/multi-workload-scaling.md) — Manages the scaling of various resource types including deployments, jobs, and custom resources. ([source](https://keda.sh/))
- [On-Demand Job Scaling](https://awesome-repositories.com/f/devops-infrastructure/on-demand-job-scaling.md) — Triggers the creation of individual jobs based on external events rather than maintaining a steady pool of pods. ([source](https://keda.sh/docs/2.13/))
- [Query-Based Auto Scaling](https://awesome-repositories.com/f/devops-infrastructure/query-based-auto-scaling.md) — Adjusts pod counts based on the numeric result of an ArangoDB database query using custom thresholds. ([source](https://keda.sh/docs/2.20/scalers/arangodb/))
- [External Metric Scalers](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling-strategies/external-metric-scalers.md) — Adjusts pod counts based on metric data points or queries retrieved from Dynatrace. ([source](https://keda.sh/docs/2.20/scalers/dynatrace/))
- [External Metric Scalers](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling/external-metric-scalers.md) — Scales workloads based on metrics and queries retrieved via the Datadog API. ([source](https://keda.sh/docs/2.20/scalers/datadog/))
- [Log-Based Scalers](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling/log-based-scalers.md) — Adjusts pod counts based on the result of queries executed against log analytics workspaces. ([source](https://keda.sh/docs/2.20/scalers/azure-log-analytics/))
- [Traffic-Based Scalers](https://awesome-repositories.com/f/devops-infrastructure/auto-scaling/traffic-based-scalers.md) — Adjusts container replicas based on HTTP request rates monitored by a server. ([source](https://keda.sh/docs/latest/deploy/))
- [External Scaler Management](https://awesome-repositories.com/f/devops-infrastructure/client-connectivity-tools/external-scaler-management.md) — Connects to messaging queues and cloud monitoring services to derive scaling signals for containerized applications. ([source](https://keda.sh/docs/2.11/))
- [Scale-Down Cooldowns](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling/compute-instance-scaling/zero-instance-scaling/scale-down-cooldowns.md) — Defines cooldown and grace periods to prevent premature scaling down to zero after the last active trigger. ([source](https://keda.sh/docs/2.20/reference/scaledobject-spec/))
- [Queue-Based Scaling Triggers](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling/queue-based-scaling-triggers.md) — Adjusts the number of running pods based on the count of ready, reserved, or delayed jobs in a queue. ([source](https://keda.sh/docs/2.20/scalers/beanstalkd/))
- [HTTP Request-Based Scaling](https://awesome-repositories.com/f/devops-infrastructure/http-request-based-scaling.md) — Adjusts the number of active pods dynamically based on the volume of observed incoming HTTP requests. ([source](https://keda.sh/docs/2.20/addons/))
- [Storage Queue Scaling](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-scaling/message-queue-scaling/storage-queue-scaling.md) — Adjusts the number of pods based on the count of messages in a storage queue. ([source](https://keda.sh/docs/2.20/scalers/artemis/))
- [Per-Event](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/per-event.md) — Schedules a single job for each detected event to handle long-running executions. ([source](https://keda.sh/docs/2.20/concepts/scaling-jobs/))
- [Namespace Isolation](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-management/cluster-access-control/namespace-isolation.md) — Limits the controller to watch for events and manage workloads only within designated namespaces. ([source](https://keda.sh/docs/2.20/operate/cluster/))
- [Automated Partition Balancing](https://awesome-repositories.com/f/devops-infrastructure/load-balancing/partitioning-algorithms/automated-partition-balancing.md) — Ensures the number of scaled replicas is a divisor of the total partition count to maintain even work distribution. ([source](https://keda.sh/docs/2.20/scalers/apache-kafka/))
- [Capacity Scaling Configurations](https://awesome-repositories.com/f/devops-infrastructure/network-configurations/capacity-scaling-configurations.md) — Sets the minimum and maximum number of replicas a workload can scale between to protect system capacity. ([source](https://keda.sh/docs/2.20/reference/scaledobject-spec/))
- [Scaling Suspensions](https://awesome-repositories.com/f/devops-infrastructure/pod-autoscaling/scaling-suspensions.md) — Allows suspending the scaling of workloads via annotations to prevent resource starvation or facilitate cluster maintenance. ([source](https://keda.sh/docs/2.20/concepts/scaling-deployments/))
- [Query-Driven Autoscaling](https://awesome-repositories.com/f/devops-infrastructure/query-driven-autoscaling.md) — Adjusts the number of running pods based on the numerical output of a query executed against a cluster. ([source](https://keda.sh/docs/2.20/scalers/azure-data-explorer/))
- [Resource-Metric-Based Auto Scaling](https://awesome-repositories.com/f/devops-infrastructure/resource-metric-based-auto-scaling.md) — Adjusts pod counts based on average CPU utilization percentages or absolute values. ([source](https://keda.sh/docs/2.20/scalers/cpu/))

### System Administration & Monitoring

- [External Event Scaling Triggers](https://awesome-repositories.com/f/system-administration-monitoring/external-data-source-integrations/external-event-scaling-triggers.md) — Connects to third-party message brokers and monitoring services to trigger scaling actions based on specific external metrics. ([source](https://keda.sh/docs/2.0/))
- [External Event Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/external-event-monitoring.md) — Monitors message brokers, databases, and cloud metrics to trigger the scaling of containerized workloads. ([source](https://keda.sh/docs/2.20/integrations/))
- [Metric Data Source Integrations](https://awesome-repositories.com/f/system-administration-monitoring/time-series-performance-metrics/metric-data-source-integrations.md) — Connects Kubernetes autoscaling to third party data sources like Kafka, AWS SQS, or Prometheus to trigger scaling actions.
- [External Metrics Querying](https://awesome-repositories.com/f/system-administration-monitoring/external-metrics-querying.md) — Retrieves current metric values and lists of exposed external metrics via API to monitor scaling triggers. ([source](https://keda.sh/docs/2.20/operate/metrics-server/))
- [Polling-Based Health Monitors](https://awesome-repositories.com/f/system-administration-monitoring/polling-based-health-monitors.md) — Periodically queries external APIs and message brokers to determine the current load and required replica count.

### Security & Cryptography

- [Workload Identity Authentication](https://awesome-repositories.com/f/security-cryptography/workload-identity-authentication.md) — Integrates with workload identities and secret managers to secure connections between the operator and external event sources.
- [Operator Permission Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions/resource-access-restrictions/operator-permission-restrictions.md) — Limits RBAC permissions to prevent the operator from reading secrets or custom resources across the entire cluster. ([source](https://keda.sh/docs/2.20/operate/cluster/))
- [Token Injection](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/api-key-authentication/service-account-authenticators/token-injection.md) — Pulls Kubernetes service account tokens into triggers to provide identity and permissions for scaling. ([source](https://keda.sh/docs/2.20/authentication-providers/bound-service-account-token/))
- [Secret Retrieval](https://awesome-repositories.com/f/security-cryptography/multi-tenant-security/multi-tenant-authentication-services/kubernetes-secret-credential-stores/secret-retrieval.md) — Pulls specific keys from Kubernetes secrets to authenticate with external scaling event sources. ([source](https://keda.sh/docs/2.20/authentication-providers/secret/))
- [OAuth2 Providers](https://awesome-repositories.com/f/security-cryptography/oauth2-providers.md) — Retrieves and injects OAuth2 access tokens into triggers to authorize requests to external sources. ([source](https://keda.sh/docs/2.20/authentication-providers/oauth2/))
- [Service Role Assignments](https://awesome-repositories.com/f/security-cryptography/role-based-access-control/conditional-role-assignment/service-role-assignments.md) — Injects cloud identity roles into pods via service account annotations to authorize external event source access. ([source](https://keda.sh/docs/2.20/authentication-providers/aws-eks/))
- [Secret Management Integrations](https://awesome-repositories.com/f/security-cryptography/secret-management-integrations.md) — Integrates with GCP Secret Manager to retrieve authentication credentials for event triggers. ([source](https://keda.sh/docs/2.20/authentication-providers/gcp-secret-manager/))
- [Vault Integrations](https://awesome-repositories.com/f/security-cryptography/vault-integrations.md) — Provides a connector to retrieve sensitive authentication data from HashiCorp Vault instances. ([source](https://keda.sh/docs/2.20/authentication-providers/hashicorp-vault/))

### Software Engineering & Architecture

- [Event Trigger Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/event-sourcing/custom-event-sources/event-trigger-extensibility.md) — Allows developers to implement custom triggers or community adapters to expand the range of cloud providers that can initiate scaling. ([source](https://keda.sh/docs/2.20/concepts/external-scalers/))
- [Fallback Replica Counts](https://awesome-repositories.com/f/software-engineering-architecture/failure-handling-policies/fallback-replica-counts.md) — Sets a fallback replica count to maintain availability when a scaling trigger enters an error state. ([source](https://keda.sh/docs/2.20/reference/scaledobject-spec/))
- [API Polling](https://awesome-repositories.com/f/software-engineering-architecture/polling-based-input-models/api-polling.md) — Sets the frequency for checking trigger sources to balance responsiveness with API load. ([source](https://keda.sh/docs/2.20/reference/scaledobject-spec/))

### Web Development

- [External Metric Scaling Integrations](https://awesome-repositories.com/f/web-development/third-party-api-integrations/external-metric-scaling-integrations.md) — Connects to third-party queues and databases to use real-time data as triggers for automatic scaling. ([source](https://keda.sh/docs/latest/))

### Development Tools & Productivity

- [Cron Scheduling](https://awesome-repositories.com/f/development-tools-productivity/cron-scheduling.md) — Adjusts the number of replicas for a workload during a specific time window based on a cron expression. ([source](https://keda.sh/docs/2.20/scalers/cron/))

### Networking & Communication

- [Push Notification Listeners](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/web-push-notifications/push-notification-listeners.md) — Maintains a long-lived stream that accepts activity events from external services to trigger real-time scaling actions. ([source](https://keda.sh/docs/2.20/concepts/external-scalers/))
- [Admission Webhooks](https://awesome-repositories.com/f/networking-communication/proxy-servers/proxy-enforcement/injection-enforcement/admission-webhooks.md) — Intercepts resource requests to validate and mutate scaling configurations before they are persisted in the cluster.

### Programming Languages & Runtimes

- [Scaler Plugin Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/logging-libraries/pluggable-interfaces/scaler-plugin-interfaces.md) — Allows new event sources to be added by implementing a common interface for metric retrieval and authentication.
