How kedacore/charts works
1. This repository is a Helm chart distribution repo, not an application codebase. Its primary job is to package and publish Kubernetes deployment manifests for KEDA and related add-ons.
2. The top-level product split is into three charts:
- keda: the core KEDA installation
- http-add-on: the HTTP autoscaling add-on
- external-scaler-azure-cosmos-db: a specialized external scaler integration
3. The keda chart is the main control plane package. Its templates deploy the core KEDA manager, metrics server, and validating webhooks, plus the Kubernetes RBAC, services, service accounts, pod disruption budgets, and monitoring resources that support them.
4. In the KEDA architecture, the manager is the operator-like component that reconciles KEDA custom resources. The metrics server exposes custom metrics to Kubernetes so the Horizontal Pod Autoscaler can scale workloads based on event sources. The webhook layer validates CRD objects at admission time.
5. The keda chart also installs the CRDs that define KEDA’s API surface: ScaledObject, ScaledJob, TriggerAuthentication, ClusterTriggerAuthentication, CloudEventSource, and ClusterCloudEventSource. These are the primary boundary between user intent and KEDA reconciliation.
6. Certificate-related templates in keda/templates/cert-manager show that the chart can manage webhook/serving TLS either with cert-manager or self-signed issuance. That makes TLS a deployment concern inside the chart, not an external app dependency.
7. The http-add-on chart is a multi-component add-on with its own control and data path:
- an operator component
- a scaler component
- an interceptor component
- CRDs for HTTPScaledObject and InterceptorRoute
8. In the HTTP add-on, the interceptor is the request-facing runtime that sits in front of HTTP workloads, while the scaler and operator coordinate autoscaling behavior through Kubernetes resources. The chart templates separate these into distinct deployments, services, RBAC, and service accounts, indicating clear runtime boundaries.
9. The external-scaler-azure-cosmos-db chart is a narrower integration package. It deploys a scaler service and scaler deployment that connect KEDA to Azure Cosmos DB change feed behavior, representing an extension point rather than core functionality.
10. docs/ contains packaged chart artifacts and repository index files. This indicates the repo is also the publishable Helm repository source, where release tarballs and chart indexes are stored for consumption by helm repo add and helm search.
11. samples/nginx-scaledobject.yml is a usage example rather than a runtime component. It demonstrates how consumers author KEDA custom resources to connect an application workload to autoscaling behavior.
12. The .github/workflows files show CI is organized around chart-specific validation pipelines. Separate workflows for core, HTTP add-on, and Cosmos DB scaler imply independent packaging, linting, and release checks per chart.
13. Architecturally, the important boundary is between chart packaging and cluster runtime. This repo does not run the autoscalers itself; it defines the Kubernetes objects that will run in a user’s cluster and the CRDs/controllers those objects depend on.
14. For a diagram, the main flows are: Helm renders templates → Kubernetes installs CRDs and control-plane deployments → KEDA/operator or add-on components watch custom resources → metrics/webhook/scaler services interact with Kubernetes and application workloads → HPA or workload scaling reacts to emitted metrics or HTTP traffic.
Main entry points: keda KEDA · http-add-on HTTP add-on · crds CRDs · docs Chart repo
Components 16
Helm charts
Packaged Kubernetes deployment charts for KEDA and add-ons.
- KEDA · Core KEDA control-plane package.
keda - CRDs · Defines ScaledObject, ScaledJob, TriggerAuthentication, ClusterTriggerAuthentication, CloudEventSource, and ClusterCloudEventSource.
keda/templates/crds - Manager · Reconciles KEDA custom resources and coordinates core behavior.
keda/templates/manager - Metrics · Exposes custom metrics for Kubernetes autoscaling.
keda/templates/metrics-server - Webhooks · Validates KEDA resources at admission time and serves webhook traffic.
keda/templates/webhooks - TLS setup · Cert-manager and self-signed certificate resources for webhook serving TLS.
keda/templates/cert-manager - HTTP add-on · Autoscaling add-on for HTTP workloads.
http-add-on - HTTP CRDs · Defines HTTPScaledObject and InterceptorRoute.
http-add-on/templates/crds - Operator · Coordinates HTTP add-on resources and scaling workflow.
http-add-on/templates/operator - Scaler · Connects HTTP add-on scaling logic to Kubernetes resources.
http-add-on/templates/scaler - Interceptor · Request-facing runtime in front of HTTP workloads.
http-add-on/templates/interceptor - Cosmos scaler · External scaler integration for Azure Cosmos DB change feed.
external-scaler-azure-cosmos-db - Scaler svc · Service and deployment that expose Cosmos DB scaling behavior to KEDA.
external-scaler-azure-cosmos-db/templates
Repo distribution
Published chart artifacts, examples, and automation around release packaging.
- Chart repo · Published chart tarballs and repository index consumed by Helm clients.
docs - CI workflows · Chart-specific validation and release checks for core, HTTP add-on, and Cosmos DB scaler.
.github/workflows - Sample manifest · Example ScaledObject showing how users consume KEDA resources.
samples/nginx-scaledobject.yml
Connections 22
- KEDA → CRDs: installs · Core chart publishes KEDA API definitions.
- KEDA → Manager: deploys · Installs the reconciliation controller.
- KEDA → Metrics: deploys · Installs the custom metrics adapter.
- KEDA → Webhooks: deploys · Installs admission webhooks.
- KEDA → TLS setup: configures · Provides certificate issuance for webhook TLS.
- Manager → CRDs: watches · Reconciles user-authored KEDA resources.
- Webhooks → TLS setup: uses · Webhook serving certs come from chart-managed TLS resources.
- Metrics → CRDs: serves metrics for · Maps KEDA resources into autoscaling signals.
- HTTP add-on → HTTP CRDs: installs · Publishes HTTP add-on API definitions.
- HTTP add-on → Operator: deploys · Installs the add-on controller.
- HTTP add-on → Scaler: deploys · Installs the scaling integration service.
- HTTP add-on → Interceptor: deploys · Installs the request-facing runtime.
- Operator → HTTP CRDs: watches · Coordinates HTTP autoscaling resources.
- Interceptor → Scaler: reports to · Interceptor cooperates with scaler-driven autoscaling.
- Cosmos scaler → Scaler svc: deploys · Installs the specialized external scaler service.
- Chart repo → KEDA: publishes · Stores packaged chart releases.
- Chart repo → HTTP add-on: publishes · Stores packaged add-on releases.
- Chart repo → Cosmos scaler: publishes · Stores packaged scaler releases.
- CI workflows → KEDA: validates · Core chart CI pipeline.
- CI workflows → HTTP add-on: validates · HTTP add-on CI pipeline.
- CI workflows → Cosmos scaler: validates · Cosmos DB scaler CI pipeline.
- Sample manifest → CRDs: demonstrates · Example consumer manifest uses KEDA APIs.