Helm values and component configuration
Helm value paths are relative to a chart. A bundled subchart value and a standalone chart value can have different prefixes. Match the selected chart version before editing configuration; the Agent’s collection flag does not install every controller it can observe.
Configuration ownership
Section titled “Configuration ownership”Use Install with Helm for core install and Argo CD/Terraform/ARM variants. When the Agent manages a component, KedifyConfiguration describes its desired installation state. Keep Helm/GitOps and that resource’s ownership consistent; a direct change to a managed dependent release can be reverted.
Agent feature and collection options
Section titled “Agent feature and collection options”These feature paths can describe a newer release than the Agent v0.7.0 defaults below. Use the values for your installed chart version.
Full set of configuration options is available in Kedify Agent chart values. Here are some notable options:
-
agent.features.podResourceProfilesEnabled: Enables the controller forPodResourceProfileto be started by Kedify Agent. The feature is further described on its own docs. By default, it istrue. Env var equivalent:PRP_ENABLED. -
agent.features.prpRequiresAnnotatedPods: If enabled, the controller forPodResourceProfilerequires the target pods (where container resources should be modified) to have annotationprp.kedify.io/reconcile=enabledon them. This is a performance optimization so that more pod events can be ignored by the controller. Default:true. Env var equivalent:PRP_REQUIRES_ANNOTATED_PODS. -
agent.features.podResourceAutoscalersEnabled: Enables the controller for Pod Resource Autoscaler. Default isfalse; set it totrueto enable PRA. Env var equivalent:PRA_ENABLED. -
global.features.multicluster.enabled: Enables the selected Multi-Cluster Scaling model. Withtype: distributed, it enables the Agent DSO/DSJ controllers and bundled KEDA raw metrics gRPC. Withtype: dedicated, it enables remote reconciliation in bundled KEDA/KPA and disables Agent DSO/DSJ controllers. -
global.features.multicluster.type:distributed(default) ordedicated. Dedicated mode requireskeda.enabled=trueandkpa.enabled=true, selects KPA as the default autoscaler, and consumes readyClusterRegistrationresources and their referenced Secrets. Leave namespace watch restrictions and KEDA label sharding disabled in the dedicated controller releases. See dedicated setup. -
agent.features.multicluster.enabled: Enables only the distributed Agent controllers and cannot configure bundled KEDA/KPA. It is not a dedicated-mode selector. The previous flatdistributedScaledObjectsEnabled/distributedScaledJobsEnabledswitches remain supported during the deprecation period; they must be disabled with dedicated mode. -
global.features.multicluster.vClusterDiscoveryEnabled: Discovers hosted vClusters through their native kubeconfig Secrets. In the0.8.1bundle it also installs the five live KEDA/KPA CRDs into members and creates managed kubeconfig Secrets andClusterRegistrationresources after bootstrap. All five source CRDs, including KPA’s, must exist centrally. This grants cluster-wide read access to Secrets/Services, source CRD read access, and registration management permissions in the Agent namespace. The equivalentagent.features.multicluster.vClusterDiscoveryEnabledsetting is also supported; discovery does not itself select a scaling model. See vCluster setup. -
agent.multicluster.localCluster.enabled: Registers the management cluster itself as an optional member. In0.8.1, the chart creates aClusterRegistrationand the Agent materializes its referenced kubeconfig Secret. Local registration is opt-in; dedicated remote controllers do not automatically reconcile management-cluster workloads. -
agent.features.scalingPoliciesEnabled: Enables the controller for Scaling Policy. Default istrue; set it tofalseto disable the controller. Env var equivalent:SCALING_POLICY_ENABLED. -
agent.features.kedifyPodAutoscalerEnabled: Enables KPA telemetry and Dashboard support. Default isfalse. A compatible Agent, Dashboard, KEDA, and KPA release set is required. -
agent.features.scaleAdaptersEnabled: Enables the controller for ScaleAdapter, which lets KEDA scale resources with an incomplete/scalesubresource, such as Agones Fleets, or with no/scalesubresource at all. Default isfalse; the agent additionally needs RBAC throughagent.extraRbacRules:getandupdateon the target kinds’/scalesubresource, orget,list,watchandupdateon the whole resource for targets adapted through replica field paths. Env var equivalent:SCALE_ADAPTER_ENABLED. -
agent.features.recommendationsForLabeledNamespaces: Limits Kubernetes container utilization scraping to opted-in namespaces. Default:true. Env var equivalent:METRICS_FOR_LABELED_NAMESPACES_ENABLED. -
agent.metricsWatchNamespace: Comma-separated list of namespaces where Kubernetes container utilization metrics should be collected. Whenagent.features.recommendationsForLabeledNamespaces=true, explicit namespaces in this list are added to the labeled namespaces. When label-gated collection is disabled, an unset or empty value means all namespaces. Env var equivalent:METRICS_WATCH_NAMESPACE. -
agent.kedifyProxy.clusterWide: Enables the cluster-wide deployment ofkedify-proxy, shared across all namespaces in the cluster. This variable should be set totrueto configure a single instance ofkedify-proxyin the KEDA installation namespace for centralized scaling. The cluster-wide setup is supported only for configurations using Istio’s VirtualService. For more details, see Kedify Proxy. -
agent.kedifyProxy.globalValues: Set of options to configurekedify-proxydeployments. See Kedify Proxy helm chart for more details. This can also be fine-tuned per namespace throughagent.kedifyProxy.namespacedValues.${NAMESPACE}.
Read the values for your installed release
Section titled “Read the values for your installed release”helm list --all-namespaceshelm get values RELEASE -n NAMESPACE -ahelm show values kedifykeda/kedify-agent --version CHART_VERSIONTreat live values as sensitive: they may contain credentials. Compare the selected chart’s schema/defaults with the deployed values before changing them. Availability records prerequisites; Insights settings explains namespace selection; observation explains native and existing-stack telemetry.
Agent chart v0.7.0 snapshot
Section titled “Agent chart v0.7.0 snapshot”| Chart-relative path | Type | Snapshot default |
|---|---|---|
clusterName | string | "cluster-1" |
disableSchemaValidation | boolean | false |
global.features.podResourceProfilesDownscaleGuardEnabled | boolean | true |
global.features.podResourceProfilesEnabled | boolean | true |
global.features.podResourceAutoscalersEnabled | boolean | false |
global.features.argoRolloutsEnabled | boolean | false |
global.features.prpRequiresAnnotatedPods | boolean | true |
global.features.praRequiresAnnotatedPods | boolean | false |
global.features.distributedScaledObjectsEnabled | boolean | false |
global.features.distributedScaledJobsEnabled | boolean | false |
global.features.scaleAdaptersEnabled | boolean | false |
global.features.scalingPoliciesEnabled | boolean | true |
global.features.recommendationsForLabeledNamespaces | boolean | true |
global.features.multitenantKEDAEnabled | boolean | false |
global.features.kedifyPodAutoscalerEnabled | boolean | false |
agent.replicas | number | 1 |
agent.orgId | string | "" |
agent.apiKey | string | "" |
agent.createApiKeySecret | boolean | true |
agent.agentId | string | "" |
agent.kedifyServer | string | "service.kedify.io:443" |
agent.cloudAccountID | string | "" |
agent.logging.level | string | "info" |
agent.logging.format | string | "console" |
agent.logging.timeEncoding | string | "RFC3339" |
agent.logging.stackTracesEnabled | boolean | false |
agent.kedifyProxy.clusterWide | boolean | false |
agent.kedifyProxy.chart | string | "/helm/kedify/kedify-proxy.tgz" |
agent.kedifyProxy.chartVersion | string | "v0.0.12" |
agent.kedifyProxy.proxyConfigmapWatcherEnabled | boolean | true |
agent.kedifyProxy.globalValues.logging.format | string | "plaintext" |
agent.kedifyProxy.globalEnvoyConfigs.route.idle_timeout | string | "3600s" |
agent.kedifyProxy.globalEnvoyConfigs.cluster.lb_policy | string | "ROUND_ROBIN" |
agent.kedifyProxy.namespacedValues | object | {} |
agent.kedifyProxy.namespacedEnvoyConfigs | object | {} |
agent.createCrds | boolean | true |
agent.createKedifyConfiguration | boolean | true |
agent.kedifyConfiguration.agentAutoUpdate | boolean | false |
agent.kedifyConfiguration.mode | string | "Helm" |
agent.kedifyConfiguration.httpAddonHelm.enabled | boolean | true |
agent.kedifyConfiguration.predictorAddonHelm.enabled | boolean | true |
agent.kedifyConfiguration.otelAddonHelm.enabled | boolean | true |
agent.kedifyConfiguration.kedaHelm.enabled | boolean | true |
agent.kedifyConfiguration.telemetry.controlPlane.interval | number | 30 |
agent.kedifyConfiguration.telemetry.controlPlane.disabled | boolean | false |
agent.kedifyConfiguration.telemetry.kedaResources.interval | number | 30 |
agent.kedifyConfiguration.telemetry.kedaResources.disabled | boolean | false |
agent.kedifyConfiguration.telemetry.kubernetesResources.interval | number | 30 |
agent.kedifyConfiguration.telemetry.kubernetesResources.disabled | boolean | true |
agent.image.tag | string | "v0.7.0" |
agent.image.repository | string | "ghcr.io/kedify/agent" |
agent.image.pullPolicy | string | "Always" |
agent.imagePullSecrets | array | [] |
agent.kubectlImage.tag | string | "v1.33.1" |
agent.kubectlImage.repository | string | "ghcr.io/kedify/kubectl" |
agent.kubectlImage.pullPolicy | string | "Always" |
agent.metricsWatchNamespace | string | "" |
agent.noBanner | boolean | false |
agent.noColor | boolean | false |
agent.nameOverride | string | "" |
agent.fullnameOverride | string | "" |
agent.features.podResourceProfilesDownscaleGuardEnabled | boolean | true |
agent.features.podResourceProfilesEnabled | boolean | true |
agent.features.podResourceAutoscalersEnabled | boolean | false |
agent.features.argoRolloutsEnabled | boolean | false |
agent.features.prpRequiresAnnotatedPods | boolean | true |
agent.features.praRequiresAnnotatedPods | boolean | false |
agent.features.distributedScaledObjectsEnabled | boolean | false |
agent.features.distributedScaledJobsEnabled | boolean | false |
agent.features.scaleAdaptersEnabled | boolean | false |
agent.features.scalingPoliciesEnabled | boolean | true |
agent.features.recommendationsForLabeledNamespaces | boolean | true |
agent.features.multitenantKEDAEnabled | boolean | false |
agent.features.kedifyPodAutoscalerEnabled | boolean | false |
agent.multicluster.localCluster.enabled | boolean | false |
agent.multicluster.localCluster.name | string | "multicluster-local" |
agent.autowire.serviceSyncPeriod | string | "500ms" |
agent.autowire.ingressCooldownPeriod | string | "3600s" |
agent.rbac.create | boolean | true |
agent.rbac.shouldBeAbleToInstallKeda | boolean | false |
agent.rbac.shouldBeAbleToInstallHttpAddon | boolean | false |
agent.rbac.selfUpdates | boolean | false |
agent.rbac.readMetrics | boolean | true |
agent.rbac.readLogs | boolean | true |
agent.rbac.readStatefulSets | boolean | false |
agent.rbac.readDaemonSets | boolean | false |
agent.rbac.readHpas | boolean | false |
agent.rbac.readNodes | boolean | true |
agent.rbac.readPods | boolean | true |
agent.rbac.readDeploymentsClusterwide | boolean | true |
agent.rbac.readDeployments | boolean | true |
agent.rbac.readServices | boolean | true |
agent.rbac.ingressAutoWire | boolean | true |
agent.rbac.kedifyConfig | boolean | false |
agent.extraRbacRules | array | [] |
agent.extraObjects | array | [] |
agent.extraPreInstallObjects | array | [] |
agent.extraPostInstallObjects | array | [] |
agent.serviceAccount.create | boolean | true |
agent.serviceAccount.automount | boolean | true |
agent.serviceAccount.annotations | object | {} |
agent.podAnnotations.kubectl.kubernetes.io/default-container | string | "manager" |
agent.podLabels | object | {} |
agent.resources.limits.cpu | string | "500m" |
agent.resources.limits.memory | string | "1024Mi" |
agent.resources.requests.cpu | string | "10m" |
agent.resources.requests.memory | string | "300Mi" |
agent.volumes | array | [] |
agent.volumeMounts | array | [] |
agent.podSecurityContext | object | {} |
agent.securityContext.runAsNonRoot | boolean | true |
agent.securityContext.allowPrivilegeEscalation | boolean | false |
agent.securityContext.readOnlyRootFilesystem | boolean | false |
agent.securityContext.seccompProfile.type | string | "RuntimeDefault" |
agent.securityContext.capabilities.drop | array | ["ALL"] |
agent.nodeSelector | object | {} |
agent.tolerations | array | [] |
agent.affinity | object | {} |
agent.extraArgs | object | {} |
hooks | string | "helm" |
keda.enabled | boolean | false |
keda.prometheus.operator.enabled | boolean | true |
keda.prometheus.metricServer.enabled | boolean | true |
keda.prometheus.webhooks.enabled | boolean | true |
keda-add-ons-http.enabled | boolean | false |
keda-add-ons-http.interceptor.scaledObject.waitForCrd | boolean | true |
otel-add-on.enabled | boolean | false |
otel-add-on.fullnameOverride | string | "kedify-otel-scaler" |
otel-add-on.otelOperator.enabled | boolean | true |
kedify-predictor.enabled | boolean | false |
kedify-predictor.fullnameOverride | string | "kedify-predictor" |
autoscaling-checks.enabled | boolean | false |
autoscaling-checks.http.enabled | boolean | true |
autoscaling-checks.prometheus.enabled | boolean | false |
autoscaling-checks.otel.enabled | boolean | false |
autoscaling-checks.cpu.enabled | boolean | true |
autoscaling-checks.memory.enabled | boolean | false |
Standalone KPA chart snapshot
Section titled “Standalone KPA chart snapshot”| Chart-relative path | Type | Snapshot default |
|---|---|---|
replicaCount | number | 2 |
image.repository | string | "ghcr.io/kedify/kpa" |
image.tag | string | "" |
image.pullPolicy | string | "IfNotPresent" |
image.hardened | boolean | false |
imagePullSecrets | array | [] |
nameOverride | string | "" |
fullnameOverride | string | "" |
serviceAccount.create | boolean | true |
serviceAccount.annotations | object | {} |
serviceAccount.name | string | "" |
crds.install | boolean | true |
watchNamespace | string | "" |
controller.syncPeriod | string | "15s" |
controller.minimumSyncPeriod | string | "5s" |
controller.infrastructureRetryMax | string | "30s" |
controller.maxConcurrentReconciles | number | 5 |
controller.downscaleStabilization | string | "5m" |
controller.tolerance | number | 0.1 |
controller.cpuInitializationPeriod | string | "5m" |
controller.initialReadinessDelay | string | "30s" |
controller.kubeAPIQPS | number | 20 |
controller.kubeAPIBurst | number | 30 |
controller.kedaRequestTimeout | string | "3s" |
controller.leaderElect | boolean | true |
controller.leaderElectionID | string | "" |
controller.logLevel | string | "info" |
controller.extraArgs | array | [] |
keda.metricsAddress | string | "keda-operator.keda.svc:9666" |
keda.metricsAuthority | string | "keda-operator.keda.svc" |
keda.certificateSecret | string | "kedaorg-certs" |
keda.certificateMountPath | string | "/certs" |
podAnnotations.prometheus.io/scrape | string | "true" |
podAnnotations.prometheus.io/port | string | "8080" |
podAnnotations.prometheus.io/path | string | "/metrics" |
podLabels.app.kubernetes.io/part-of | string | "kedify-pod-autoscaler" |
podSecurityContext.runAsNonRoot | boolean | true |
podSecurityContext.runAsUser | number | 65532 |
podSecurityContext.runAsGroup | number | 65532 |
podSecurityContext.fsGroup | number | 65532 |
podSecurityContext.seccompProfile.type | string | "RuntimeDefault" |
securityContext.allowPrivilegeEscalation | boolean | false |
securityContext.capabilities.drop | array | ["ALL"] |
securityContext.readOnlyRootFilesystem | boolean | true |
securityContext.runAsNonRoot | boolean | true |
resources.requests.cpu | string | "50m" |
resources.requests.memory | string | "64Mi" |
resources.limits.cpu | string | "500m" |
resources.limits.memory | string | "256Mi" |
service.annotations | object | {} |
service.metricsPort | number | 8080 |
serviceMonitor.enabled | boolean | false |
serviceMonitor.labels | object | {} |
serviceMonitor.interval | string | "30s" |
serviceMonitor.scrapeTimeout | string | "10s" |
prometheusRule.enabled | boolean | false |
prometheusRule.labels | object | {} |
podDisruptionBudget.enabled | boolean | true |
podDisruptionBudget.minAvailable | number | 1 |
networkPolicy.enabled | boolean | false |
networkPolicy.apiServerPorts | array | [443, 6443] |
networkPolicy.prometheusNamespaceSelector | object | {} |
networkPolicy.prometheusPodSelector | object | {} |
networkPolicy.kedaNamespaceSelector | object | {} |
networkPolicy.kedaPodSelector.matchLabels.app.kubernetes.io/name | string | "keda-operator" |
nodeSelector | object | {} |
tolerations | array | [] |
affinity | object | {} |
topologySpreadConstraints | array | [] |
priorityClassName | string | "" |
terminationGracePeriodSeconds | number | 10 |
Continue with this topic
Section titled “Continue with this topic”Related capabilities: Kedify Agent and data collection.