I deployed an application on a Kubernetes cluster using Helm and ArgoCD. ArgoCD is tasked with monitoring a GitLab repo (called manifests) which contains the Helm chart and application config. As soon as a new config is pushed to GitLab, the healthy ArgoCD application kicks in and deploys the latest config.


In addition to the GitLab repository, I also want ArgoCD to monitor two docker-hub registries, della/backend and della/frontend (both of which are being used by the ArgoCD application). In particular, I want to monitor the :latest tag of the images, and as soon as a pipeline pushes an image with that tag (to either of those registries), I want ArgoCD to deploy that image. The registries are public already.

Not a Goal

Updating the Git repository itself, or any kind of Git write back. The Git manifest repository only specifies the latest and the rest should be taken care of by ArgoCD.

Current Solution

I have set up ArgoCD image updater using this command

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/argocd-image-updater/master/manifests/install.yaml 

Then I am using the following application manifest.

# This is the file used by argocd.
apiVersion: argoproj.io/v1alpha1
kind: Application
    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
  project: default
    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
    server: https://kubernetes.default.svc
    namespace: webapp # Every resource will be created in this app specific namespace
    - CreateNamespace=true
      selfHeal: true # Reconcile manual application of kubectl against the gitlab
      prune: true # Rename or delete components if they are deleted in the gitlab

Monitoring the GitLab repository for git push. The application is healthy, and always synchronises as soon as there is a push.

Not Working

The Image Updater to watch the repositories. I am pushing docker images with the :latest tag, but ArgoCD does not react at all. Even the GUI does not have any indication it is monitoring the dockerhub registries.

  • How to get the dockerhub registry to trigger an argocd redeployment in the simplest possible manner?
  • Should the Deployment manifests that use the della/backend and della/frontend images be altered for the image updater, or they will stay exactly the same?
  • Does the GUI have any way to add or indicate whether the image monitoring is active?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.