Enabling Server-Side Diff in Argo CD on AKP

How to enable Server-Side Diff at the Argo CD Controller level on Akuity Platform (AKP)

Server-Side Diff can be enabled at the Argo CD Controller level using cluster-level Manifest Customization (Kustomize patch) in the Akuity Platform UI.

Option 1: Enable via Cluster Kustomization

You can use the Manifests Customization section in the AKP UI as shown in the image to patch the Argo CD Application Controller and set the ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF environment variable.


Here is an example of how to do it using Kustomize:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
patches:
- target:
    kind: Deployment
    name: argocd-application-controller
  patch: |-
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: argocd-application-controller
    spec:
      template:
        spec:
          containers:
          - name: argocd-application-controller
            env:
            - name: ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF
              value: "true"
              valueFrom: null

📝 This ensures the environment variable is directly injected into the controller container and enables server-side diff globally.

Option 2: Enable Server-Side Diff per Application

If you'd prefer to enable Server-Side Diff for individual Argo CD Applications instead of globally, you can add an annotation:

metadata:
annotations:
  argocd.argoproj.io/compare-options: ServerSideDiff=true

This is useful when you want fine-grained control over specific apps rather than enabling it cluster-wide.

  • Use the Kustomization patch in AKP to persistently enable server-side diff at the controller level.

  • Avoid kubectl edit for AKP-managed clusters.

  • Use annotations for per-application configuration when needed.

Reference: https://argo-cd.readthedocs.io/en/stable/user-guide/diff-strategies/#enabling-it