Enhancing Deployment Visibility with Argo CD Image Updater & Direct GitOps Repository Commit Support
Figure 1: Argo Watcher Web UI
Argo Watcher not only addresses the critical challenge of visibility during deployments with Argo CD Image Updater but also introduces experimental support for direct commits to the GitOps repository.
It actively monitors the ArgoCD API for application changes and synchronizes the status of your image-related modifications, streamlining and potentially accelerating your deployment processes.
Argo Watcher is a standalone application, for it is designed to work with:
- ArgoCD (obviously)
- Argo CD Image Updater (can be omitted if you're using direct commits feature)
- CI/CD solution of your choice
This is just one the possible workflows that can be implemented with Argo Watcher.
- Build and Deploy: Initiate by building a new Docker image of your application and pushing it to the designated image repository.
- Monitoring Setup: Once the new image is pushed, execute a job that runs Argo Watcher Client. This step is crucial for triggering and overseeing the deployment process.
- Image Update and GitOps Integration: Upon detection of the new image, Argo CD Image Updater either automatically commits the updated image tag to the GitOps repository, or this update is performed by argo-watcher itself. This action initiates the deployment.
- Deployment Monitoring: Throughout the deployment process, Argo Watcher diligently monitors and reports the current status of the application, ensuring transparency and real-time tracking.
- Pipeline Status Reporting: The client concludes the process by returning an exit code that reflects the status of the deployment task. This code is instrumental in determining the success or failure of the pipeline, thus marking the completion of the deployment workflow.
Tip
In addition to pipeline logs, the whole process can be observed through the web UI.
The up to date documentation is available here: argo-watcher.readthedocs.io.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.