Believe it or not, the GitOps paradigm is now going on year five since the defining piece from WeaveWorks. So, at least in theory, leveraging a declarative approach that pairs Kubernetes with GitOps pillars is not novel at this point. But the trickier question right now – and one open to no shortage of interpretation – is what you are sending to a GitOps Engine. The multiple paths of creating Kubernetes manifests and packaging (like Helm, Kustomize, JSonnett, etc) are largely leaving us to our own devices for abstraction. Is an app an app if there is no longer a templating engine?