= Start Managing an Argo CD Application with Argo CD Itself = **Summary**: This wiki page shows how to manage an Argo CD application with Argo CD itself. \\ **Date**: 8 February 2026 \\ {{tag>argocd kubernetes}} When you start with Argo CD, you typically start simple, with just a application that you manage yourself. However, when you build up your knowledge and confidence, there comes a time where you no longer want to manage your Argo CD application manually, but instead want to manage it with Argo CD itself. On this page, I'll show you how to do just that. For this wiki page I'm assuming you already have an Argo CD application up and running, and also already have created a manifest which controls your Argo CD application. It should do exactly the same as the application you already have. The steps below will show you the steps on how to move from a manually managed Argo CD application to an Argo CD application that is managed by Argo CD itself and is part of the repository that is part of the GitOps flow. == Steps to Manage an Argo CD Application with Argo CD Itself == The most important aspect in this process is to make sure your actions do not interfere with the other kuberenets resources that are managed by Argo CD. As we have to delete the existing applications (as it was created manually), we have to make sure all other resources will be nontouched. To quote from the [[https://argo-cd.readthedocs.io/en/latest/user-guide/app_deletion/ | Argo CD documentation]]: > Apps can be deleted with or without a cascade option. A cascade delete, deletes both the app and its resources, rather than only the app. So, to make sure we do not touch the existing resources, we must make sure to delete without the cascade. To do so, we will remove any finalizers from the application, if they exist, and then delete the application. Let's first take a good look at the application: # Check for available argocd apps kubectl get app -A # Describe the app so we can check for metadata.finalizers kubectl describe app argoapp1 > argoapp1.yaml We have now exported the application to a yaml file, so we can check for the finalizers. Open the yaml file in yoyr favorite editor and check the metadata section for finalizers. If they exist, remove them like this: # On linux kubectl patch app argoapp1 -p '{"metadata": {"finalizers": null}}' --type merge # On windows, use escapes for the double quotes kubectl patch app vtxops -p '{\"metadata\": {\"finalizers\": null}}' --type merge If you're not sure a finalizer exists, running the command below will not cause any harm, and will show you an output like {{{application.argoproj.io/argoapp1 patched (no change)}}}. Now that we have removed the finalizers, we can safely delete the application: kubectl delete app argoapp1 Sometimes, you might also want to start managing the Argo CD projects. For this, you can follow the same procedure, but make sure to replace the resource type from {{{app}}} to {{{appproject}}} in the commands above. == Apply the Manifest == Note that the application is now removed from Argo CD, so there is one more step we must take. We now have to manually apply the manifest that is already part of the GitOps repository, so that Argo CD can pick it up and start managing it's own applications: kubectl apply -f argocd-apps.yaml //This wiki has been made possible by://