Fun with GitOps stitching Kubernetes, Tekton, and Argo.

Roland Barcia
3 min readApr 13, 2020

Stitches and Ditches

As much as I love being on webex or zoom all day with co-workers and friends, one needs some work “play time” as well. This weekend I played around with stitching together different open source technologies . I wanted to see if I could wire together Tekton, Argo, and OpenShift. A full out DevOps pipeline probably stitches together even more than CI -> CD -> Platform. It includes stitching together repositories, multiple testing tools (Unit, Smoke, UAT, Perf, etc…), security scans (Code, Images, Running Containers, Network Vulnerabilities), etc…. I have to integrate each workload into that pipeline (Microservice App, Reactive App, Legacy Middleware, AI Chat Bot, etc…). As I am stitching things together, there is a mix of established tools and emerging tools.

One of the teams i lead focuses on accelerating “the stitching together” of tools for customers. Our Cloud Native Toolkit can be seen here. https://cloudnativetoolkit.dev/. This is some brilliant work from some of my engineers and friends (Carlos Santana, Matthew Perrins, Sean Sundberg). More on this later.

I just published a simple git project to illustrate this end-to-end example i just did for fun.

The diagram below illustrates the scenario.

  • Use Argo to Deploy Tekton Pipelines. This is the great potential of Tekton, ability to treat it like any Kubernetes Config.
  • Use Tekton to build and publish my Container Image for a Node App.
  • Have Tekton hand off to Argo for deploying App and App Config.

I also used OpenShift 4.3 as my Kubernetes platform as they deliver Tekton and Argo through the Operator Framework.

In this example, I used 3 Technologies to keep it simple.

First off, I should explain GitOps but I do that in my short 5 minute video below.

To summarize the video:

  • GitOps is applying the development life…
Roland Barcia

AWS SSA Director Containers, Serverless, & Integration, Former IBM Fellow. All Thoughts are my own and do NOT represent my employer