github.com/argoproj/argo-cd/v2@v2.10.5/docs/user-guide/tool_detection.md (about)

     1  # Tool Detection
     2  
     3  The tool used to build an application is detected as follows:
     4  
     5  If a specific tool is explicitly configured, then that tool is selected to create your application's manifests.
     6  
     7  The tool can be explicitly specified in the Application custom resource like this:
     8  ```
     9  apiVersion: argoproj.io/v1alpha1
    10  kind: Application
    11  metadata:
    12    ...
    13  spec:
    14    ...
    15    source:
    16      ...
    17      
    18      # Tool -> plain directory
    19      directory:
    20        recurse: true
    21  ...
    22  ```
    23  
    24  You also can select the tool in the Application creation wizard in the web user interface. The default is 'Directory'. Press the dropdown button beneath the tool name if you want to choose a different one.
    25  
    26  
    27  If not, then the tool is detected implicitly as follows:
    28  
    29  * **Helm** if there's a file matching `Chart.yaml`. 
    30  * **Kustomize** if there's a `kustomization.yaml`, `kustomization.yml`, or `Kustomization`
    31  
    32  Otherwise it is assumed to be a plain **directory** application. 
    33  
    34  ## Disable built-in tools
    35  
    36  Built-in config management tools can be optionally disabled by setting one of the following
    37  keys, in the `argocd-cm` ConfigMap, to `false`: `kustomize.enable`, `helm.enable` or `jsonnet.enable`. Once the
    38  tool is disabled, Argo CD will assume the application target directory contains plain Kubernetes YAML manifests.
    39  
    40  Disabling unused config management tools can be a helpful security enhancement. Vulnerabilities are sometimes limited to certain config management tools. Even if there is no vulnerability, an attacker may use a certain tool to take advantage of a misconfiguration in an Argo CD instance. Disabling unused config management tools limits the tools available to malicious actors.
    41  
    42  ## References
    43  
    44  * [reposerver/repository/repository.go/GetAppSourceType](https://github.com/argoproj/argo-cd/blob/master/reposerver/repository/repository.go#L286)
    45  * [server/repository/repository.go/listAppTypes](https://github.com/argoproj/argo-cd/blob/master/server/repository/repository.go#L97)