Skip to content

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.

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.

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 for PodResourceProfile to be started by Kedify Agent. The feature is further described on its own docs. By default, it is true. Env var equivalent: PRP_ENABLED.

  • agent.features.prpRequiresAnnotatedPods: If enabled, the controller for PodResourceProfile requires the target pods (where container resources should be modified) to have annotation prp.kedify.io/reconcile=enabled on 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 is false; set it to true to enable PRA. Env var equivalent: PRA_ENABLED.

  • global.features.multicluster.enabled: Enables both DistributedScaledObject and DistributedScaledJob controllers used by Multi-Cluster Scaling, plus the raw metrics gRPC service required by distributed jobs when the chart installs Kedify KEDA. The equivalent agent.features.multicluster.enabled setting enables both Agent controllers but cannot configure the dependent KEDA chart. The previous flat distributedScaledObjectsEnabled and distributedScaledJobsEnabled values remain supported during the deprecation period.

  • global.features.multicluster.vClusterDiscoveryEnabled: Discovers shared-node vClusters through their native kubeconfig Secrets. The equivalent setting under agent.features.multicluster is also supported. This opt-in grants the Agent cluster-wide get, list, and watch access to Secrets and Services and requires multi-cluster scaling to be enabled.

  • agent.features.scalingPoliciesEnabled: Enables the controller for Scaling Policy. Default is true; set it to false to disable the controller. Env var equivalent: SCALING_POLICY_ENABLED.

  • agent.features.kedifyPodAutoscalerEnabled: Enables KPA telemetry and Dashboard support. Default is false. 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 /scale subresource, such as Agones Fleets, or with no /scale subresource at all. Default is false; the agent additionally needs RBAC through agent.extraRbacRules: get and update on the target kinds’ /scale subresource, or get, list, watch and update on 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. When agent.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 of kedify-proxy, shared across all namespaces in the cluster. This variable should be set to true to configure a single instance of kedify-proxy in 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 configure kedify-proxy deployments. See Kedify Proxy helm chart for more details. This can also be fine-tuned per namespace through agent.kedifyProxy.namespacedValues.${NAMESPACE}.

Read the values for your installed release

Section titled “Read the values for your installed release”
Terminal window
helm list --all-namespaces
helm get values RELEASE -n NAMESPACE -a
helm show values kedifykeda/kedify-agent --version CHART_VERSION

Treat 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.

Chart-relative pathTypeSnapshot default
clusterNamestring"cluster-1"
disableSchemaValidationbooleanfalse
global.features.podResourceProfilesDownscaleGuardEnabledbooleantrue
global.features.podResourceProfilesEnabledbooleantrue
global.features.podResourceAutoscalersEnabledbooleanfalse
global.features.argoRolloutsEnabledbooleanfalse
global.features.prpRequiresAnnotatedPodsbooleantrue
global.features.praRequiresAnnotatedPodsbooleanfalse
global.features.distributedScaledObjectsEnabledbooleanfalse
global.features.distributedScaledJobsEnabledbooleanfalse
global.features.scaleAdaptersEnabledbooleanfalse
global.features.scalingPoliciesEnabledbooleantrue
global.features.recommendationsForLabeledNamespacesbooleantrue
global.features.multitenantKEDAEnabledbooleanfalse
global.features.kedifyPodAutoscalerEnabledbooleanfalse
agent.replicasnumber1
agent.orgIdstring""
agent.apiKeystring""
agent.createApiKeySecretbooleantrue
agent.agentIdstring""
agent.kedifyServerstring"service.kedify.io:443"
agent.cloudAccountIDstring""
agent.logging.levelstring"info"
agent.logging.formatstring"console"
agent.logging.timeEncodingstring"RFC3339"
agent.logging.stackTracesEnabledbooleanfalse
agent.kedifyProxy.clusterWidebooleanfalse
agent.kedifyProxy.chartstring"/helm/kedify/kedify-proxy.tgz"
agent.kedifyProxy.chartVersionstring"v0.0.12"
agent.kedifyProxy.proxyConfigmapWatcherEnabledbooleantrue
agent.kedifyProxy.globalValues.logging.formatstring"plaintext"
agent.kedifyProxy.globalEnvoyConfigs.route.idle_timeoutstring"3600s"
agent.kedifyProxy.globalEnvoyConfigs.cluster.lb_policystring"ROUND_ROBIN"
agent.kedifyProxy.namespacedValuesobject{}
agent.kedifyProxy.namespacedEnvoyConfigsobject{}
agent.createCrdsbooleantrue
agent.createKedifyConfigurationbooleantrue
agent.kedifyConfiguration.agentAutoUpdatebooleanfalse
agent.kedifyConfiguration.modestring"Helm"
agent.kedifyConfiguration.httpAddonHelm.enabledbooleantrue
agent.kedifyConfiguration.predictorAddonHelm.enabledbooleantrue
agent.kedifyConfiguration.otelAddonHelm.enabledbooleantrue
agent.kedifyConfiguration.kedaHelm.enabledbooleantrue
agent.kedifyConfiguration.telemetry.controlPlane.intervalnumber30
agent.kedifyConfiguration.telemetry.controlPlane.disabledbooleanfalse
agent.kedifyConfiguration.telemetry.kedaResources.intervalnumber30
agent.kedifyConfiguration.telemetry.kedaResources.disabledbooleanfalse
agent.kedifyConfiguration.telemetry.kubernetesResources.intervalnumber30
agent.kedifyConfiguration.telemetry.kubernetesResources.disabledbooleantrue
agent.image.tagstring"v0.7.0"
agent.image.repositorystring"ghcr.io/kedify/agent"
agent.image.pullPolicystring"Always"
agent.imagePullSecretsarray[]
agent.kubectlImage.tagstring"v1.33.1"
agent.kubectlImage.repositorystring"ghcr.io/kedify/kubectl"
agent.kubectlImage.pullPolicystring"Always"
agent.metricsWatchNamespacestring""
agent.noBannerbooleanfalse
agent.noColorbooleanfalse
agent.nameOverridestring""
agent.fullnameOverridestring""
agent.features.podResourceProfilesDownscaleGuardEnabledbooleantrue
agent.features.podResourceProfilesEnabledbooleantrue
agent.features.podResourceAutoscalersEnabledbooleanfalse
agent.features.argoRolloutsEnabledbooleanfalse
agent.features.prpRequiresAnnotatedPodsbooleantrue
agent.features.praRequiresAnnotatedPodsbooleanfalse
agent.features.distributedScaledObjectsEnabledbooleanfalse
agent.features.distributedScaledJobsEnabledbooleanfalse
agent.features.scaleAdaptersEnabledbooleanfalse
agent.features.scalingPoliciesEnabledbooleantrue
agent.features.recommendationsForLabeledNamespacesbooleantrue
agent.features.multitenantKEDAEnabledbooleanfalse
agent.features.kedifyPodAutoscalerEnabledbooleanfalse
agent.multicluster.localCluster.enabledbooleanfalse
agent.multicluster.localCluster.namestring"multicluster-local"
agent.autowire.serviceSyncPeriodstring"500ms"
agent.autowire.ingressCooldownPeriodstring"3600s"
agent.rbac.createbooleantrue
agent.rbac.shouldBeAbleToInstallKedabooleanfalse
agent.rbac.shouldBeAbleToInstallHttpAddonbooleanfalse
agent.rbac.selfUpdatesbooleanfalse
agent.rbac.readMetricsbooleantrue
agent.rbac.readLogsbooleantrue
agent.rbac.readStatefulSetsbooleanfalse
agent.rbac.readDaemonSetsbooleanfalse
agent.rbac.readHpasbooleanfalse
agent.rbac.readNodesbooleantrue
agent.rbac.readPodsbooleantrue
agent.rbac.readDeploymentsClusterwidebooleantrue
agent.rbac.readDeploymentsbooleantrue
agent.rbac.readServicesbooleantrue
agent.rbac.ingressAutoWirebooleantrue
agent.rbac.kedifyConfigbooleanfalse
agent.extraRbacRulesarray[]
agent.extraObjectsarray[]
agent.extraPreInstallObjectsarray[]
agent.extraPostInstallObjectsarray[]
agent.serviceAccount.createbooleantrue
agent.serviceAccount.automountbooleantrue
agent.serviceAccount.annotationsobject{}
agent.podAnnotations.kubectl.kubernetes.io/default-containerstring"manager"
agent.podLabelsobject{}
agent.resources.limits.cpustring"500m"
agent.resources.limits.memorystring"1024Mi"
agent.resources.requests.cpustring"10m"
agent.resources.requests.memorystring"300Mi"
agent.volumesarray[]
agent.volumeMountsarray[]
agent.podSecurityContextobject{}
agent.securityContext.runAsNonRootbooleantrue
agent.securityContext.allowPrivilegeEscalationbooleanfalse
agent.securityContext.readOnlyRootFilesystembooleanfalse
agent.securityContext.seccompProfile.typestring"RuntimeDefault"
agent.securityContext.capabilities.droparray["ALL"]
agent.nodeSelectorobject{}
agent.tolerationsarray[]
agent.affinityobject{}
agent.extraArgsobject{}
hooksstring"helm"
keda.enabledbooleanfalse
keda.prometheus.operator.enabledbooleantrue
keda.prometheus.metricServer.enabledbooleantrue
keda.prometheus.webhooks.enabledbooleantrue
keda-add-ons-http.enabledbooleanfalse
keda-add-ons-http.interceptor.scaledObject.waitForCrdbooleantrue
otel-add-on.enabledbooleanfalse
otel-add-on.fullnameOverridestring"kedify-otel-scaler"
otel-add-on.otelOperator.enabledbooleantrue
kedify-predictor.enabledbooleanfalse
kedify-predictor.fullnameOverridestring"kedify-predictor"
autoscaling-checks.enabledbooleanfalse
autoscaling-checks.http.enabledbooleantrue
autoscaling-checks.prometheus.enabledbooleanfalse
autoscaling-checks.otel.enabledbooleanfalse
autoscaling-checks.cpu.enabledbooleantrue
autoscaling-checks.memory.enabledbooleanfalse
Chart-relative pathTypeSnapshot default
replicaCountnumber2
image.repositorystring"ghcr.io/kedify/kpa"
image.tagstring""
image.pullPolicystring"IfNotPresent"
image.hardenedbooleanfalse
imagePullSecretsarray[]
nameOverridestring""
fullnameOverridestring""
serviceAccount.createbooleantrue
serviceAccount.annotationsobject{}
serviceAccount.namestring""
crds.installbooleantrue
watchNamespacestring""
controller.syncPeriodstring"15s"
controller.minimumSyncPeriodstring"5s"
controller.infrastructureRetryMaxstring"30s"
controller.maxConcurrentReconcilesnumber5
controller.downscaleStabilizationstring"5m"
controller.tolerancenumber0.1
controller.cpuInitializationPeriodstring"5m"
controller.initialReadinessDelaystring"30s"
controller.kubeAPIQPSnumber20
controller.kubeAPIBurstnumber30
controller.kedaRequestTimeoutstring"3s"
controller.leaderElectbooleantrue
controller.leaderElectionIDstring""
controller.logLevelstring"info"
controller.extraArgsarray[]
keda.metricsAddressstring"keda-operator.keda.svc:9666"
keda.metricsAuthoritystring"keda-operator.keda.svc"
keda.certificateSecretstring"kedaorg-certs"
keda.certificateMountPathstring"/certs"
podAnnotations.prometheus.io/scrapestring"true"
podAnnotations.prometheus.io/portstring"8080"
podAnnotations.prometheus.io/pathstring"/metrics"
podLabels.app.kubernetes.io/part-ofstring"kedify-pod-autoscaler"
podSecurityContext.runAsNonRootbooleantrue
podSecurityContext.runAsUsernumber65532
podSecurityContext.runAsGroupnumber65532
podSecurityContext.fsGroupnumber65532
podSecurityContext.seccompProfile.typestring"RuntimeDefault"
securityContext.allowPrivilegeEscalationbooleanfalse
securityContext.capabilities.droparray["ALL"]
securityContext.readOnlyRootFilesystembooleantrue
securityContext.runAsNonRootbooleantrue
resources.requests.cpustring"50m"
resources.requests.memorystring"64Mi"
resources.limits.cpustring"500m"
resources.limits.memorystring"256Mi"
service.annotationsobject{}
service.metricsPortnumber8080
serviceMonitor.enabledbooleanfalse
serviceMonitor.labelsobject{}
serviceMonitor.intervalstring"30s"
serviceMonitor.scrapeTimeoutstring"10s"
prometheusRule.enabledbooleanfalse
prometheusRule.labelsobject{}
podDisruptionBudget.enabledbooleantrue
podDisruptionBudget.minAvailablenumber1
networkPolicy.enabledbooleanfalse
networkPolicy.apiServerPortsarray[443, 6443]
networkPolicy.prometheusNamespaceSelectorobject{}
networkPolicy.prometheusPodSelectorobject{}
networkPolicy.kedaNamespaceSelectorobject{}
networkPolicy.kedaPodSelector.matchLabels.app.kubernetes.io/namestring"keda-operator"
nodeSelectorobject{}
tolerationsarray[]
affinityobject{}
topologySpreadConstraintsarray[]
priorityClassNamestring""
terminationGracePeriodSecondsnumber10

Related capabilities: Kedify Agent and data collection.