Introducing the Plugin Support Interface to the Argo CD CLI - Build your custom Plugins now!
2025-03-31 , The Waterloo

The ArgoCD CLI tool has been a cornerstone for managing GitOps workflows, but until now, it lacked support for extending its capabilities through plugins – a feature many users have long desired. This talk introduces an enhancement to the ArgoCD CLI: plugin support, enabling users to create custom plugins and use them as subcommands, extending the ArgoCD CLI tool functionality just like the kubectl.

As part of this feature rollout, we’ll demonstrate its real-world application by showcasing a plugin we developed: mta (migrate to ArgoCD). This plugin bridges the gap between Flux and ArgoCD by exporting Flux components into ArgoCD-compatible Custom Resources (CRs), simplifying migrations from Flux to ArgoCD.


Benefits to ecosystem:

Currently, the argocd CLI client is-getting/already-is pretty bloated. The solution has either been written in the support for certain solutions (like ApplicationSets) or having a separate CLI tool in Argo Project Labs (like Autopilot and Vault Plugin). Having a plugin system makes sense, as we add more and more features down the line (OCI, Hydrator, GitOps Promoter, etc). In this way, we can keep the argocd CLI "lean" but also extensible and keep things "out of tree". As mentioned before, other tools that can benefit from this besides the Argo CD OCI cli is a tool like argocd-autopilot. Also, there is a potential for other Argo Project tools to have plugins, like a Rollouts plugin or an argocd-image-updater plugin for Argo CD.

Hence with this talk, there are three major benefits to the community:

  1. By enabling users to build custom plugins with the argocd- prefix, this feature ensures that the core CLI remains lean while allowing for infinite possibilities to extend functionality. New tools and features like OCI, Hydrator, and GitOps Promoter can be introduced seamlessly as plugins, maintaining the modularity of the ecosystem.

  2. The plugin system paves the way for other tools in the Argo ecosystem, such as Argo Rollouts or Argo Image Updater, to integrate more tightly with ArgoCD. This opens doors for new collaborations and unified workflows across projects, enhancing the value of the broader Argo ecosystem.

  3. Tools like argocd-autopilot and argocd-vault-plugin can now migrate to a plugin-based model, simplifying their adoption and making them feel native to the ArgoCD CLI. This approach benefits end-users by providing a consistent user experience while catering to specialized needs.

Nitish is a Software Engineer at Akuity and a CNCF Ambassador. In the past, Nitish has served as a Linux Foundation Mentee under the Kubernetes Release Engineering Team, where he built a library that is used by the Kubernetes project internally. Nitish has given various talks in the past around cloud-native, DevOps, and Security, one of which he led a panel discussion at KubeCon + CloudNativeCon North America, 2023 and 2024. He has also been featured on one of the Veam Podcast Show.