github.com/argoproj-labs/argocd-operator@v0.10.0/docs/usage/customization.md (about) 1 # Custom Tooling 2 3 See [upstream documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/custom_tools/) for more information 4 5 ## Adding Tools Via Volume Mounts 6 7 Both init containers and volumes can be added to the repo server using the `ArgoCD` custom resource 8 9 ```yaml 10 apiVersion: argoproj.io/v1alpha1 11 kind: ArgoCD 12 metadata: 13 name: argocd-sample 14 spec: 15 repo: 16 # 1. Define an emptyDir volume which will hold the custom binaries 17 volumes: 18 - name: custom-tools 19 emptyDir: {} 20 # 2. Use an init container to download/copy custom binaries into the emptyDir 21 initContainers: 22 - name: download-tools 23 image: alpine:3.8 24 command: [sh, -c] 25 args: 26 - wget -qO- https://storage.googleapis.com/kubernetes-helm/helm-v2.12.3-linux-amd64.tar.gz | tar -xvzf - && 27 mv linux-amd64/helm /custom-tools/ 28 volumeMounts: 29 - mountPath: /custom-tools 30 name: custom-tools 31 # 3. Volume mount the custom binary to the bin directory (overriding the existing version) 32 volumeMounts: 33 - mountPath: /usr/local/bin/helm 34 name: custom-tools 35 subPath: helm 36 ```