{"id":119575,"date":"2026-07-01T10:50:57","date_gmt":"2026-07-01T05:20:57","guid":{"rendered":"https:\/\/www.guvi.in\/blog\/?p=119575"},"modified":"2026-07-01T10:50:59","modified_gmt":"2026-07-01T05:20:59","slug":"argocd-gitops-tutorial","status":"publish","type":"post","link":"https:\/\/www.guvi.in\/blog\/argocd-gitops-tutorial\/","title":{"rendered":"ArgoCD GitOps Tutorial: A Complete Beginner&#8217;s Guide to Continuous Delivery"},"content":{"rendered":"\n<p>This ArgoCD GitOps Tutorial starts with a simple idea: production issues drop when deployments come from Git rather than manual kubectl commands run under pressure.<\/p>\n\n\n\n<p>If you&#8217;ve ever dealt with unexplained cluster changes, GitOps makes clear why ArgoCD&#8217;s popular. ArgoCD keeps your Kubernetes cluster aligned with the state stored in Git.<\/p>\n\n\n\n<p>Designed for Kubernetes users familiar with Git basics, this guide shows you how to install ArgoCD, connect a repository, deploy applications, configure sync policies, and avoid common beginner mistakes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>TL;DR Summary<\/strong><\/h2>\n\n\n\n<ul>\n<li>ArgoCD is a GitOps continuous delivery tool for Kubernetes that keeps your live cluster in sync with what&#8217;s defined in a Git repository. If the two ever drift apart, ArgoCD tells you \u2014 or fixes it automatically.<\/li>\n\n\n\n<li>You install it as a controller inside your Kubernetes cluster, then point it at a Git repo containing your manifests, Helm charts, or Kustomize configs.<\/li>\n\n\n\n<li>Sync can be manual or automatic. Beginners should start manually, watch how it behaves, then flip on auto-sync once they trust the pipeline.<\/li>\n\n\n\n<li>The biggest beginner trap is treating ArgoCD like a CI tool. It&#8217;s not \u2014 it doesn&#8217;t build your code. It deploys what&#8217;s already built.<\/li>\n\n\n\n<li>This guide walks you through installation, first app deployment, and troubleshooting using a real example, not just theory.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"background-color: #099f4e; border: 3px solid #110053; border-radius: 12px; padding: 18px 22px; color: #FFFFFF; font-size: 18px; font-family: Montserrat, Helvetica, sans-serif; line-height: 1.6; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); max-width: 750px;\">\n  <strong style=\"font-size: 22px; color: #ffffff;\">\ud83d\udca1 Did You Know?<\/strong> <br \/><br \/>\n  <span>\n    The term <strong style=\"color: #110053;\">&#8220;GitOps&#8221;<\/strong> was coined by \n    <strong style=\"color: #110053;\">Weaveworks<\/strong> in \n    <strong style=\"color: #110053;\">2017<\/strong>, but the underlying idea \u2014 using \n    <strong style=\"color: #110053;\">version control as the source of truth for operations<\/strong> \u2014 had already been quietly practised by \n    <strong style=\"color: #110053;\">infrastructure-as-code teams<\/strong> for years before it had a name.\n  <\/span>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is GitOps?<\/strong><\/h2>\n\n\n\n<p>GitOps is a way of managing infrastructure and applications where <a href=\"https:\/\/www.guvi.in\/blog\/git-flow-and-version-control-best-practices\/\" target=\"_blank\" rel=\"noreferrer noopener\">Git<\/a> \u2014 yes, the same version control system you already use for code \u2014 becomes the single source of truth for what <em>should<\/em> be running in your environment.\u00a0<\/p>\n\n\n\n<p>Instead of logging into a server or cluster and making changes directly, you change a file in Git, and an automated process makes reality match that file.<\/p>\n\n\n\n<p>This matters because it turns deployments into something reviewable, auditable, and reversible, the same way code changes already are.<\/p>\n\n\n\n<ul>\n<li><strong>Declarative configuration<\/strong> means you describe the desired end state \u2014 &#8220;I want 3 replicas of this app running version 2.4&#8221; \u2014 rather than the steps to get there. The GitOps controller figures out the steps.<\/li>\n\n\n\n<li><strong>Version control as history<\/strong> means every change to your infrastructure has an author, a timestamp, and a diff. When something breaks, you don&#8217;t have to guess what changed \u2014 you check the commit log.<\/li>\n\n\n\n<li><strong>Automated reconciliation<\/strong> means a controller is constantly watching, comparing the actual state to the desired state, and closing the gap. This is the part that replaces the need to run kubectl apply by hand.<\/li>\n<\/ul>\n\n\n\n<p>Once you&#8217;ve internalized that GitOps is a <em>practice<\/em> and ArgoCD is a <em>tool<\/em> that implements it, the rest of this tutorial will click into place much faster.<\/p>\n\n\n\n<p><em>Want to go beyond ArgoCD and GitOps basics? <\/em><strong><em>HCL GUVI&#8217;s <\/em><\/strong><a href=\"https:\/\/www.guvi.in\/courses\/database-and-cloud-computing\/kubernetes\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=argocd-gitops-tutorial\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><em>Kubernetes Course<\/em><\/strong><\/a><em> helps you build a strong foundation in Kubernetes, container orchestration, deployments, scaling, and microservices management. Join the course and strengthen the skills behind modern GitOps workflows.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is ArgoCD?<\/strong><\/h2>\n\n\n\n<p><a href=\"https:\/\/argoproj.github.io\/cd\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">ArgoCD<\/a> is an open-source, <a href=\"https:\/\/www.guvi.in\/blog\/kubernetes-roadmap\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kubernetes<\/a>-native continuous delivery tool that implements GitOps \u2014 a practice where Git is the single source of truth for your infrastructure and application state.\u00a0<\/p>\n\n\n\n<p>ArgoCD continuously compares your live cluster against your Git repository and either flags or automatically corrects any drift. In practice, this means deployments happen by merging a pull request, not by running manual commands.<\/p>\n\n\n\n<p>What makes ArgoCD different from a generic <a href=\"https:\/\/www.guvi.in\/blog\/understanding-ci-cd\/\" target=\"_blank\" rel=\"noreferrer noopener\">CI\/CD<\/a> pipeline is that it&#8217;s purpose-built for Kubernetes. It understands Helm charts, Kustomize overlays, and plain YAML manifests natively, and it gives you a visual dependency graph of every resource it&#8217;s managing \u2014 something a Jenkins pipeline simply doesn&#8217;t give you out of the box.<\/p>\n\n\n\n<p>\u2705 <strong>Best Practice:<\/strong> Treat your ArgoCD Application manifests as code, stored in Git \u2014 a pattern often called &#8220;App of Apps.&#8221; This way, even your ArgoCD configuration is version-controlled and recoverable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>ArgoCD vs. Other GitOps Tools<\/strong><\/h2>\n\n\n\n<p>Most teams comparing GitOps tools end up looking at ArgoCD against Flux, the other major CNCF GitOps project, and sometimes against <a href=\"https:\/\/www.guvi.in\/blog\/what-is-jenkins\/\" target=\"_blank\" rel=\"noreferrer noopener\">Jenkins<\/a> X for teams coming from a more traditional CI\/CD background. They solve overlapping problems but with different philosophies.<\/p>\n\n\n\n<p>ArgoCD leans heavily on its UI and application-centric abstraction, while Flux is more modular and CLI\/API-first, often appealing to teams that want to compose GitOps into a broader custom toolchain.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Feature<\/strong><\/td><td><strong>ArgoCD<\/strong><\/td><td><strong>Flux<\/strong><\/td><td><strong>Jenkins X<\/strong><\/td><\/tr><tr><td><strong>Primary interface<\/strong><\/td><td>Rich web UI + CLI<\/td><td>CLI\/API-first, minimal UI<\/td><td>CLI, pipeline-based<\/td><\/tr><tr><td><strong>Learning curve<\/strong><\/td><td>Moderate \u2014 UI helps beginners visualize state<\/td><td>Steeper \u2014 more configuration, less hand-holding<\/td><td>Steep \u2014 full CI\/CD platform to learn<\/td><\/tr><tr><td><strong>Multi-tenancy<\/strong><\/td><td>Strong, built-in RBAC and projects<\/td><td>Possible, but requires more manual setup<\/td><td>Requires additional tooling<\/td><\/tr><tr><td><strong>Best for<\/strong><\/td><td>Teams that want visibility and a gentle on-ramp<\/td><td>Teams that want a lightweight, composable controller<\/td><td>Teams that want CI and CD unified in one platform<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u26a0\ufe0f <strong>Warning:<\/strong> Don&#8217;t pick a GitOps tool based purely on GitHub stars or hype. Pick based on whether your team needs a strong visual UI (ArgoCD) or a lighter, more composable controller you&#8217;ll wire into other tooling yourself (Flux).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prerequisites Before You Start<\/strong><\/h2>\n\n\n\n<p>Before you install anything, make sure your environment actually meets the basics \u2014 skipping this step is the single most common reason beginners get stuck on cryptic errors in the first ten minutes.<\/p>\n\n\n\n<p>You&#8217;ll need a running Kubernetes cluster, kubectl configured to communicate with it, and a Git repository you control that will host your application manifests.<\/p>\n\n\n\n<ul>\n<li><strong>A Kubernetes cluster (1.24+)<\/strong> is required because ArgoCD relies on Custom Resource Definitions and controller patterns that assume a reasonably modern API server. A local cluster via Minikube or Kind works fine for learning.<\/li>\n\n\n\n<li><strong>kubectl installed and authenticated<\/strong> matters because you&#8217;ll use it to install ArgoCD itself and to peek under the hood when something doesn&#8217;t sync the way you expect.<\/li>\n\n\n\n<li><strong>A Git repository (GitHub, GitLab, or similar)<\/strong> is where your &#8220;desired state&#8221; lives. It can be public or private \u2014 ArgoCD supports SSH keys and access tokens for private repos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step-by-Step Guide: Installing ArgoCD<\/strong><\/h2>\n\n\n\n<p>Now that your prerequisites are sorted, here&#8217;s how to actually get ArgoCD running in your cluster. This is the part most tutorials rush \u2014 we won&#8217;t.<\/p>\n\n\n\n<p>First, create a dedicated namespace and apply the official installation manifest. ArgoCD ships as a set of controllers, a repo-server, a Redis cache, and the API server\/UI, all deployed together.<\/p>\n\n\n\n<ol>\n<li><strong>Create the namespace.<\/strong> Run kubectl create namespace argocd. This isolates ArgoCD&#8217;s components from your application workloads, keeping RBAC and resource management cleaner as your usage grows.<\/li>\n\n\n\n<li><strong>Apply the install manifest.<\/strong> Run kubectl apply -n argocd -f https:\/\/raw.githubusercontent.com\/argoproj\/argo-cd\/stable\/manifests\/install.yaml. This pulls in every core ArgoCD component \u2014 give it a minute or two for all pods to reach Running status.<\/li>\n\n\n\n<li><strong>Access the ArgoCD UI.<\/strong> Port-forward the API server with kubectl port-forward svc\/argocd-server -n argocd 8080:443, then open https:\/\/localhost:8080 in your browser. You&#8217;ll hit a self-signed cert warning the first time \u2014 that&#8217;s expected for local setups.<\/li>\n\n\n\n<li><strong>Retrieve the initial admin password.<\/strong> ArgoCD auto-generates one on first install and stores it in a secret named argocd-initial-admin-secret. Decode it with kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=&#8221;{.data.password}&#8221; | base64 -d.<\/li>\n\n\n\n<li><strong>Log in and change the password immediately.<\/strong> The default username is admin. Once logged in, change the password through the UI or CLI \u2014 leaving the auto-generated one in place is a real, exploitable risk on any shared cluster.<\/li>\n<\/ol>\n\n\n\n<p>\ud83d\udca1 <strong>Pro Tip:<\/strong> Install the ArgoCD CLI (argocd) alongside the UI. Many day-to-day tasks \u2014 like forcing a sync or checking app health from a script \u2014 are faster and easier to automate from the CLI than by clicking through the web interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Deploying Your First Application<\/strong><\/h2>\n\n\n\n<p>With ArgoCD running, it&#8217;s time to deploy something real. ArgoCD&#8217;s core unit of work is the &#8220;Application&#8221; resource, which tells it where your manifests live and where they should be deployed.<\/p>\n\n\n\n<p>You can create this through the UI, but defining it as YAML is the better habit to build early, since it keeps your ArgoCD config in Git too.<\/p>\n\n\n\n<p>apiVersion: argoproj.io\/v1alpha1<\/p>\n\n\n\n<p>kind: Application<\/p>\n\n\n\n<p>metadata:<\/p>\n\n\n\n<p>&nbsp;&nbsp;name: guestbook<\/p>\n\n\n\n<p>&nbsp;&nbsp;namespace: argocd<\/p>\n\n\n\n<p>spec:<\/p>\n\n\n\n<p>&nbsp;&nbsp;project: default<\/p>\n\n\n\n<p>&nbsp;&nbsp;source:<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;repoURL: https:\/\/github.com\/argoproj\/argocd-example-apps.git<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;targetRevision: HEAD<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;path: guestbook<\/p>\n\n\n\n<p>&nbsp;&nbsp;destination:<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;server: https:\/\/kubernetes.default.svc<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;namespace: guestbook<\/p>\n\n\n\n<p>&nbsp;&nbsp;syncPolicy:<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;automated:<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prune: true<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selfHeal: true<\/p>\n\n\n\n<p>Apply this with kubectl apply -f application.yaml, and ArgoCD will pick it up, pull the manifests from the specified path, and deploy them. You should see the app appear in the UI within seconds, with its sync and health status displayed as coloured indicators.<\/p>\n\n\n\n<ul>\n<li><strong>repoURL<\/strong><strong> and <\/strong><strong>path<\/strong> tell ArgoCD exactly where to look in your repository \u2014 useful when a single repo contains manifests for many different apps across different subfolders.<\/li>\n\n\n\n<li><strong>targetRevision<\/strong> can be a branch, tag, or commit SHA, giving you fine-grained control over which version of your config is deployed.<\/li>\n\n\n\n<li><strong>syncPolicy.automated<\/strong> is what turns on auto-sync. Leave this out at first if you want to manually click &#8220;Sync&#8221; and watch what happens before trusting full automation.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding Sync Policies<\/strong><\/h2>\n\n\n\n<p>Sync policy is where a lot of beginners either get too cautious (manual syncing forever, which defeats half the point of GitOps) or too aggressive (auto-sync everywhere before they understand failure modes). Getting this balance right is genuinely one of the more nuanced parts of running ArgoCD well.<\/p>\n\n\n\n<p>The contrarian take here, honestly: most teams should <em>not<\/em> enable selfHeal everywhere immediately. It&#8217;s powerful, but it also means ArgoCD will silently revert any manual emergency fix you make directly on the cluster \u2014 which is exactly the behavior you want 95% of the time, and exactly the behavior that bites you during a live incident if you haven&#8217;t planned for it.<\/p>\n\n\n\n<ul>\n<li><strong>Manual sync<\/strong> means ArgoCD detects drift and shows it to you, but waits for a human to click &#8220;Sync.&#8221; This is the right default while your team is still learning how the tool behaves under real conditions.<\/li>\n\n\n\n<li><strong>Automated sync<\/strong> means ArgoCD applies changes from Git as soon as it detects them, with no human approval needed. This is the GitOps end state most teams aim for, but it assumes your CI pipeline and review process are solid enough to trust blindly.<\/li>\n\n\n\n<li><strong>Self-heal<\/strong> means ArgoCD actively reverts any manual change made directly to the cluster, forcing it back to match Git. This is what actually stops &#8220;ClickOps&#8221; drift, but it requires your incident response process to know to fix things in Git first, not in the cluster.<\/li>\n<\/ul>\n\n\n\n<p>\u26a0\ufe0f <strong>Warning:<\/strong> If you enable selfHeal without telling your on-call engineers, the first time someone manually patches a broken pod during an incident, and ArgoCD reverts it thirty seconds later, you will have a very confused and very annoyed engineer. Document this behaviour loudly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Mistakes to Avoid<\/strong><\/h2>\n\n\n\n<p>Most of the pain people hit with ArgoCD isn&#8217;t really about ArgoCD \u2014 it&#8217;s about misunderstanding what it&#8217;s responsible for versus what your CI system should be doing.<\/p>\n\n\n\n<p>Here&#8217;s where beginners most often go sideways, based on patterns that recur in support channels and community forums.<\/p>\n\n\n\n<ul>\n<li><strong>Treating ArgoCD as a CI tool.<\/strong> ArgoCD does not build container images or run your test suite \u2014 that&#8217;s CI&#8217;s job. ArgoCD only deploys what already exists as a built artifact referenced in your manifests.<\/li>\n\n\n\n<li><strong>Pointing ArgoCD at the wrong branch.<\/strong> It&#8217;s easy to leave targetRevision on a feature branch during testing and forget to switch it back to main, which means production silently stops tracking your actual release branch.<\/li>\n\n\n\n<li><strong>Ignoring health checks on custom resources.<\/strong> ArgoCD&#8217;s built-in health assessment understands common Kubernetes resources well, but custom CRDs may need a custom health check defined, or ArgoCD will report &#8220;Healthy&#8221; when it actually has no idea.<\/li>\n<\/ul>\n\n\n\n<p>\u2705 <strong>Best Practice:<\/strong> Pair ArgoCD with a clear branching strategy \u2014 most teams use a separate &#8220;deploy&#8221; branch or directory per environment (dev\/staging\/prod) rather than relying on tags alone, which makes the promotion path between environments explicit in Git history.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Takeaways<\/strong><\/h2>\n\n\n\n<ul>\n<li><strong>ArgoCD implements GitOps for Kubernetes<\/strong>, using Git as the source of truth and continuously reconciling cluster state against it.<\/li>\n\n\n\n<li><strong>It&#8217;s a deployment tool, not a build tool<\/strong> \u2014 pair it with a CI system that handles testing and image builds.<\/li>\n\n\n\n<li><strong>Start with manual sync<\/strong>, then move to automated sync and self-heal once your team trusts the pipeline and knows the operational implications.<\/li>\n\n\n\n<li><strong>The Application custom resource is the core abstraction<\/strong> \u2014 define it in Git too, following the &#8220;App of Apps&#8221; pattern, for full auditability.<\/li>\n\n\n\n<li><strong>Most beginner pain comes from scope confusion<\/strong>, not from ArgoCD itself being hard to use.<\/li>\n\n\n\n<li><strong>Multi-cluster and multi-tenant support<\/strong> make ArgoCD scale well beyond a single team&#8217;s use case once you&#8217;re ready.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What to Do Next<\/strong><\/h2>\n\n\n\n<ol>\n<li><strong>Install ArgoCD on a local cluster<\/strong> (Minikube or Kind) using the steps above, and deploy the sample guestbook app to see the full sync cycle in action.<\/li>\n\n\n\n<li><strong>Convert one real application&#8217;s manifests into an ArgoCD Application resource<\/strong>, starting with manual sync so you can observe its behavior before automating anything.<\/li>\n\n\n\n<li><strong>Read up on the &#8220;App of Apps&#8221; pattern<\/strong> and restructure your ArgoCD configuration as a Git-managed Application, so your GitOps setup is also GitOps-managed.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1782741917145\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Is ArgoCD difficult to learn for someone new to Kubernetes?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Not particularly, as long as you already understand basic Kubernetes concepts like Deployments and Services. The UI makes drift and sync status visually obvious, which actually makes ArgoCD a fairly gentle way to learn GitOps concepts hands-on.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1782741944382\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Does ArgoCD replace Jenkins or GitHub Actions?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. ArgoCD handles the deployment (CD) side, while Jenkins or GitHub Actions typically handle the build and test (CI) side. Most production setups run both together, with CI building artifacts and ArgoCD deploying them.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1782741946536\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Can ArgoCD manage multiple Kubernetes clusters from one place?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, a single ArgoCD instance can register and manage many target clusters, which is common for organizations running separate clusters per environment or region. You add each cluster as a destination, and ArgoCD handles the rest.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1782741947438\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>What happens if someone manually changes a resource ArgoCD is managing?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>If self-heal is enabled, ArgoCD will detect the drift and automatically revert the resource back to match Git. If self-heal is off, ArgoCD will simply flag the resource as &#8220;OutOfSync&#8221; until someone manually syncs or resolves it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1782741986477\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Is ArgoCD free to use?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, ArgoCD is fully open-source under the Apache 2.0 license and is a graduated CNCF project, meaning it&#8217;s free to install and run without licensing costs, though some vendors offer paid managed or enterprise versions with added support.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>This ArgoCD GitOps Tutorial starts with a simple idea: production issues drop when deployments come from Git rather than manual kubectl commands run under pressure. If you&#8217;ve ever dealt with unexplained cluster changes, GitOps makes clear why ArgoCD&#8217;s popular. ArgoCD keeps your Kubernetes cluster aligned with the state stored in Git. Designed for Kubernetes users [&hellip;]<\/p>\n","protected":false},"author":64,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[744],"tags":[],"views":"23","authorinfo":{"name":"Abhishek Pati","url":"https:\/\/www.guvi.in\/blog\/author\/abhishek-pati\/"},"thumbnailURL":false,"_links":{"self":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/119575"}],"collection":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/comments?post=119575"}],"version-history":[{"count":4,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/119575\/revisions"}],"predecessor-version":[{"id":119858,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/119575\/revisions\/119858"}],"wp:attachment":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media?parent=119575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/categories?post=119575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/tags?post=119575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}