Ask HN: Is "GitOps" a Bit Redundant?

  • As you point out, GitOps is focused on a particular technique, so it does make sense that it has its own term to distinguish it.

    The term is defined https://opengitops.dev/

    GitOps focuses on deploying applications rather than deploying infrastructure, although some tools (ACK and Crossplane for two) use a variation of GitOps called "Infrastructure as Data" to apply infrastructure code to IaaS infrastructure.

    In both cases, the point isn't really that code is in Git (most IaC and application code is stored in Git these days), and it's doesn't involve monitoring pull requests. At root it's running a continuous loop to reconcile what's deployed with the current version of the code.

    A PR will normally trigger an update, but indirectly, by modifying the code and so making a mismatch between the code and the deployment. The reconciliation loop finds the difference and, well, reconciles it by running the deployment.

    "Git" is an implementation detail, as is the fact that it's almost always implemented using Kubernetes controllers. Check out the site, it's not really ambiguous, just often misunderstood.

  • I would say they are similar but the focus is more on controlling everything through Git rather than IaC which leaves this ambiguous and can require updating the Git repo and then visiting a dashboard to press a button to check the repo and apply it.

    Once you dig deep enough into many tech buzzwords you'll find that that different people can mean slightly different things with the same words. Some may consider special PR comments to control infrastructure operations as a form of GitOps because what would otherwise be a button in a dashboard now lives alongside the Git history in GitHub.