Skip to main content
Argo CD natively supports Kustomize for declarative configuration management. When a kustomization.yaml file is detected in your repository, Argo CD automatically uses Kustomize to render manifests.

Basic Application

Define a Kustomize application in the declarative GitOps way:

Configuration Options

string
Overrides the namePrefix in kustomization.yaml
string
Overrides the nameSuffix in kustomization.yaml
array
List of Kustomize image overrides
array
List of Kustomize replica overrides
object
String map of additional labels to apply
object
String map of additional annotations to apply
string
Kubernetes resources namespace
array
List of Kustomize patches that support inline updates
array
List of Kustomize components

Inline Patches

Apply patches directly in the Application manifest without modifying repository files:
Inline patches work well with ApplicationSets to dynamically customize applications per cluster without maintaining separate overlays.

Components

Kustomize components encapsulate resources and patches together for modular configuration:
boolean
Prevents kustomize from failing when components don’t exist locally

Custom Kustomize Versions

Configure multiple Kustomize versions and specify per application:
Then reference in your Application:

Build Options

Provide build options to kustomize build:

Environment Variables

Enable environment variable substitution in annotations:
Use build environment variables to access context like ARGOCD_APP_NAME, ARGOCD_APP_NAMESPACE, and ARGOCD_APP_REVISION.

Setting Namespace

Use spec.source.kustomize.namespace to set namespaces directly with Kustomize:
If both spec.destination.namespace and spec.source.kustomize.namespace are set, Argo CD will use the Kustomize namespace value.

Private Remote Bases

Remote bases inherit credentials from the Application’s repository configuration. They must use the same credentials to work properly.

CLI Usage

Set Kustomize version via CLI: