2 min read | by Jordi Prats
When defining ArgoCD Applicacions it can come handy to be able to use it's commit id as a variable. This comes specially handy when using ApplicacionSets
There are several variables we can use (see Build environment), for getting the commit id we can use ARGOCD_APP_REVISION.
For example, if we have a build system that uses the commit id for setting the container tag, we can use the parameters attribute to feed it to the image.tag value of a helm chart as follows:
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: pet2cattle-versions
namespace: argocd
spec:
generators:
- list:
elements:
- target: 1.0.0
instance: v1
- target: 2.0.0
instance: v2
template:
metadata:
name: pet2cattle-{{ instance }}
spec:
project: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
source:
repoURL: ssh://git@github.com:jordiprats/helm-pet2cattle.git
path: .
targetRevision: "{{ target }}"
helm:
values: |
ingress:
hosts:
- "{{ instance }}.pet2cattle.com
parameters:
- name: image.tag
value: $ARGOCD_APP_REVISION
destination:
server: https://kubernetes.default.svc
namespace: pet2cattle
Posted on 09/06/2022