CNCF adopts Argo
Let’s continue to talk about Gitops
Gitops is a collection of tools and best practices in continuity with the DevOps movement which allows you to manage your infrastructures and applications with Git as a source of truth and center of operations. To do so, we need 3 essential components:
- a code depot
- a place to deploy
- some glue to realise some actions between the content of the code depot and the place where we want to deploy
This glue is often split between two categories:
- Build : Continuous Integration
- Deployment : Continuous Delivery
Whats is Argo ?
Argo is a project which aims to unify the different steps of application delivery under a single platform and to do it under the CNCF colors.
Like many projects inside the CNCF, Argo is build around extending Kubernetes functionalities.
Argo is split between sub projects, each one addressing a specific problematic.
Native Kubernetes pipeline creation: Pods, jobs, etc as well as orchestration and artifacts handling which can be compare to a classic CI tools.
As hinted by its name, handles continuous delivery, allowing you to deploy specific application version and to reconcile the desired remote state with actual cluster state. Argo supports Helm, Ksonnet, Jsonnet and Kustomize in addition of classic Kubernetes manifests.
Augments Kubernetes rolling update strategies by adding Canary Deployments and Blue/Green Deployments. Check out our article here
Those projects are not alone on the market, Argo CD offers similar functionalities as Flux CD.
For the continuous delivery part, Argo CD and Flux now have a common project: Argo Flux which aim to merge the feature of both under one project.
This will add a feature we love in Flux which is the monitoring of Docker registries to automatically deploy new applications release based on glob and/or semver. This project will be a joined CNCF project.
Along the same lines, we may see Weave Flagger and Argo Rollout getting closer as they both offer the same features.