This is how my ArgoCD manifest application.yaml
looks like.
# This is the file used by argocd.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
annotations:
argocd-image-updater.argoproj.io/image-list: backend=della/backend, frontend=della/frontend
argocd-image-updater.argoproj.io/yourtool.update-strategy: latest
name: encrypt-decrypt
namespace: argocd
spec:
project: default
source:
repoURL: https://gitlab.com/della/webapp.git # Must be made available via argocd CLI
targetRevision: master # The branch
path: ./ # Subdirectory where Chart.yaml is located
destination:
server: https://kubernetes.default.svc
namespace: webapp # Every resource will be created in this app specific namespace
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
selfHeal: true # Reconcile manual application of kubectl against the gitlab
prune: true # Rename or delete components if they are deleted in the gitlab
It is supposed to monitor the Git repository AND two docker registries for any image push.
When I kubectl apply
this file, it works fine and does monitor the git repository (which has the helm templates and values), and upon each push to that repository, it reconciles the present state to the desired state.
However, the Dockerhub image monitoring is not working. The ArgoCD web UI does not give any indication that the image updater is doing anything at all. Even when I push to the relevant image registries, nothing happens from ArgoCD proactively.
To be noted, the image registries are public on Dockerhub, so there should not be an issue with pull secret or anything. In fact, the application is using both of those images, so the images themselves should be fine.