github.com/argoproj/argo-cd@v1.8.7/docs/user-guide/config-management-plugins.md (about)

     1  # Plugins
     2  
     3  Argo CD allows integrating more config management tools using config management plugins. Following changes are required to configure new plugin:
     4  
     5  * Make sure required binaries are available in `argocd-repo-server` pod. The binaries can be added via volume mounts or using custom image (see [custom_tools](../operator-manual/custom_tools.md)).
     6  * Register a new plugin in `argocd-cm` ConfigMap:
     7  
     8  ```yaml
     9  data:
    10    configManagementPlugins: |
    11      - name: pluginName
    12        init:                          # Optional command to initialize application source directory
    13          command: ["sample command"]
    14          args: ["sample args"]
    15        generate:                      # Command to generate manifests YAML
    16          command: ["sample command"]
    17          args: ["sample args"]
    18  ```
    19  
    20  The `generate` command must print a valid YAML stream to stdout. Both `init` and `generate` commands are executed inside the application source directory.
    21  
    22   * Create an application and specify required config management plugin name.
    23  
    24  ```bash
    25  argocd app create <appName> --config-management-plugin <pluginName>
    26  ```
    27  
    28  More config management plugin examples are available in [argocd-example-apps](https://github.com/argoproj/argocd-example-apps/tree/master/plugins).
    29  
    30  ## Environment
    31  
    32  Commands have access to
    33  
    34  1. The system environment variables
    35  2. [Standard build environment](build-environment.md)
    36  3. Variables in the application spec:
    37  
    38  > v1.2
    39  
    40  ```yaml
    41  spec:
    42    source:
    43      plugin:
    44        env:
    45          - name: FOO
    46            value: bar
    47  ```