Install with Argo CD
Export from the Dashboard
In Clusters → Connect cluster, or an existing cluster's Installation dialog, select Argo CD. Configure components, cluster name, Agent API key and any multi-tenant or multi-cluster options.
- Open GitOps settings and set the Argo CD namespace, project and destination. The
defaultproject is Argo CD's built-in project. A custom name must refer to an existing AppProject that permits the chart repositories and destination. - Select Application for complete Argo CD resources, or Values to integrate the chart values into your existing Applications. Download YAML downloads only the selected output; repeat for each generated release.
- Supply credentials below, commit the Applications and sync them. The generated Applications do not enable automatic sync or pruning.

Applications pin the chart with spec.source.targetRevision and configure it with helm.valuesObject. Keep the exact chart version in Git and change it through a reviewed update; it is a chart version, not a Git commit or an image tag. Set a stable helm.releaseName when integrating values into your own Application.
For multi-tenant installations, export every KEDA and optional KPA release. Keep exactly one KPA CRD owner, and reconcile each KEDA/KPA pair together. Sync-wave annotations order children when a parent Application manages them; they do not order manually synced, independent Applications. Bootstrap the generated CRD-owning KPA release alongside the first installation that needs it, then sync dependent tenants. See multi-tenant installation.
For HTTP traffic autowiring, configure drift handling on the Application that owns your workload routing, not just the Kedify Application. See Argo CD routing guidance.
When changing an existing installation from cluster-wide to namespace-scoped watches, review and prune obsolete RBAC during a manual sync. The exported Applications keep automatic pruning disabled.
Provide credentials
Before syncing, create namespace keda and supply Secret kedify-agent with an apikey field using your secret manager or encrypted Secret workflow. The dashboard's Credentials section provides Copy Secret YAML and Preview Secret YAML; the copied Secret contains credentials and must not be committed unencrypted.
The generated values set agent.createApiKeySecret: false, so Argo CD does not render the credential Secret from chart values. The Secret is managed separately. Preserve agent_id when adopting an existing installation. Generated Applications ignore the Agent-written /data/agent_id field and enable RespectIgnoreDifferences=true.
Separate component Applications
The examples below give each component its own Application. Use this layout instead of the dashboard's bundled Agent release; do not enable the same components in both. Sync KEDA first to establish its namespace and CRDs, then sync the other components.
Replace organization and chart values before syncing, and supply the credential Secret as described above. OTel and Predictor use Argo CD's Helm OCI source format: registry path in repoURL and chart name in chart.
Kedify build of KEDA Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: keda namespace: argocdspec: destination: namespace: keda server: https://kubernetes.default.svc project: default source: chart: keda repoURL: https://kedify.github.io/charts targetRevision: v2.21.0-3 helm: values: | image: keda: tag: v2.21.0-3 registry: ghcr.io repository: kedify/keda-operator metricsApiServer: tag: v2.21.0-3 registry: ghcr.io repository: kedify/keda-metrics-apiserver webhooks: tag: v2.21.0-3 registry: ghcr.io repository: kedify/keda-admission-webhooks prometheus: operator: enabled: true metricServer: enabled: true webhooks: enabled: true
## Please fill this section with your custom values based on the available options
syncPolicy: automated: {} syncOptions: - CreateNamespace=true - ServerSideApply=true ignoreDifferences: - kind: APIService group: apiregistration.k8s.io jqPathExpressions: - '.spec.insecureSkipTLSVerify' - kind: ValidatingWebhookConfiguration group: admissionregistration.k8s.io jqPathExpressions: - '.webhooks[].clientConfig.caBundle'HTTP Scaler Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: http-scaler namespace: argocdspec: destination: namespace: keda server: https://kubernetes.default.svc project: default source: chart: keda-add-ons-http repoURL: https://kedify.github.io/charts targetRevision: v0.11.1-8 helm: values: | images: tag: v0.11.1-8 operator: ghcr.io/kedify/http-add-on-operator interceptor: ghcr.io/kedify/http-add-on-interceptor scaler: ghcr.io/kedify/http-add-on-scaler interceptor: replicas: min: 1 scaler: replicas: 1 operator: replicas: 0
## Please fill this section with your custom values based on the available optionsKedify Agent Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: kedify-agent namespace: argocdspec: destination: namespace: keda server: https://kubernetes.default.svc project: default source: chart: kedify-agent repoURL: https://kedify.github.io/charts targetRevision: v0.8.3 helm: values: | keda: enabled: false keda-add-ons-http: enabled: false otel-add-on: enabled: false kedify-predictor: enabled: false clusterName: my-cluster # EDIT THIS agent: orgId: "$YOUR_ORG_ID" # EDIT THIS createApiKeySecret: false # Supply Secret keda/kedify-agent separately
## Please fill this section with your custom values based on the available optionsOTel Scaler Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: kedify-otel-scaler namespace: argocdspec: destination: namespace: keda server: https://kubernetes.default.svc project: default source: chart: otel-add-on repoURL: ghcr.io/kedify/charts targetRevision: v0.1.5 helm: values: | image: repository: ghcr.io/kedify/otel-add-on tag: v0.1.5
## Please fill this section with your custom values based on the available optionsKedify Predictor Installation Manifest with Argo CD
apiVersion: argoproj.io/v1alpha1kind: Applicationmetadata: name: kedify-predictor namespace: argocdspec: destination: namespace: keda server: https://kubernetes.default.svc project: default source: chart: kedify-predictor repoURL: ghcr.io/kedify/charts targetRevision: v0.1.9 helm: values: | settings: logs: logLvl: info
## Please fill this section with your custom values based on the available optionsVerify
Check that the Applications are synced and healthy, then run the installation checks. For HTTP traffic autowiring, retain the application-level ignoreDifferences configuration described above.