The Anatomy of the App-of-Apps Pattern
We choose to use Helm; remember, at its most basic, Helm is just templating language for packaging our Kubernetes-based application resources. Each PetBattle application has its own Git repository and Helm chart, making it easier to code independently of other apps. This inner Helm chart per application box is depicted in Figure 14.11. A developer can get the same experience and end result installing an application chart using a helm install
as our fully automated pipeline. This is important from a useability perspective. Argo CD has great support for all sorts of packaging formats that suit Kubernetes deployments, Kustomize, Helm, as well as just raw YAML files. Because Helm is a templating language, we can mutate the Helm chart templates and their generated Kubernetes objects with various values.
Figure 14.11: Application packaging, Helm, and Argo CD with the app-of-apps pattern
One strict view of GitOps is that...