logo
< Back Post-Image

CNCF adopts Argo

Let’s continue to talk about Gitops

What is Gitops ? We already talked a little bit about it here and there, especially with FluxCD for the technical part.

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

Several tools exist such as Jenkins, Gitlab, or Travis. There are also specific tools dedicated to the CD part like Spinnaker, Weave Flagger and Flux.

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.

Argo Workflow

Native Kubernetes pipeline creation: Pods, jobs, etc as well as orchestration and artifacts handling which can be compare to a classic CI tools.

Argo CD

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.

argo-cd

Argo Rollout

Augments Kubernetes rolling update strategies by adding Canary Deployments and Blue/Green Deployments. Check out our article here

Argo Event

Execute actions that depends on external events. For example, to trigger an Argo Workflow pipeline after receiving an AWS SNS event.

argo-event

Project roadmap

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.

Kevin Lefevre