Fun with GitOps stitching Kubernetes, Tekton, and Argo.
--
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.
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…