Skip to content

Commit

Permalink
Update docs to describe how to customize repo-server (issue #772) (#778)
Browse files Browse the repository at this point in the history
  • Loading branch information
jessesuen authored and alexmt committed Nov 15, 2018
1 parent 7520a8a commit 17bcb3b
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@

## Other
* [Configuring Ingress](ingress.md)
* [Custom Tooling](custom_tools.md)
* [F.A.Q.](faq.md)
35 changes: 35 additions & 0 deletions docs/custom_tools.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Custom Tooling

Argo CD bundles preferred versions of its supported templating tools (helm, kustomize, ks, jsonnet)
as part of its container images. Sometimes, it may be desired to use a specific version of a tool
other than what Argo CD bundles. Some reasons to do this might be:

* To upgrade/downgrade to a specific version of a tool due to bugs or bug fixes.
* To install additional dependencies which to be used by kustomize's configmap/secret generators
(e.g. curl, vault)

As the Argo CD repo-server is the single service responsible for generating Kubernetes manifests, it
can be customized to use alternative toolchain required by your environment.

The following example describes how the repo-server manifest can be customized to use a different
version of helm than what is bundled in Argo CD:

```yaml
spec:
# 1. Define an emptyDir volume which will hold the custom binaries
volumes:
- name: custom-tools
emptyDir: {}
# 2. Use an init container to download and/or copy the custom binaries into the emptyDir
initContainers:
- name: download-tools
image: lachlanevenson/k8s-helm:v2.10.0
command: [cp, /usr/local/bin/helm, /custom-tools]
# 3. Volume mount the custom binary to the bin directory (overriding the existing version)
containers:
- name: argocd-repo-server
volumeMounts:
- mountPath: /usr/local/bin/helm
name: custom-tools
subPath: helm
```

0 comments on commit 17bcb3b

Please sign in to comment.