The source code for this lab exercise is available on GitHub.
GitOps is the practice of delivering infrastructure and applications in a declarative manner based on a single, authoritative source of truth. Oftentimes, the source of truth is defined within a Git repository, hence the term GitOps, though recent developments have started to decouple Git from GitOps with the source of truth defined in OCI artifacts instead in what is known as “Git-less GitOps”. Closely related is the concept of continuous delivery (CD) which is implemented in GitOps by continuously reconciling the actual state of the infrastructure and applications to match the desired configuration stored in the latest Git commit.
Most GitOps implementations revolve around 2 CNCF Graduated projects:
- Flux: originally a WeaveWorks project; now spearheaded by ControlPlane
- Argo CD: actively developed on by startups and enterprise IT vendors such as Akuity and Red Hat
This lab demonstrates the deployment of a sample podinfo application with GitOps using Argo CD deployed via the operator.
(more…)