Overview
GitOps with ArgoCD
Kuberise.io follows the GitOps model: the Git repository is the single source of truth. ArgoCD watches the repository and ensures the Kubernetes cluster matches the desired state in code. If someone manually changes something in the cluster, ArgoCD reverts it.
App-of-Apps Pattern
After running install.sh, ArgoCD is installed first, then a single root ArgoCD Application (the "app-of-apps") is created. This root application is a Helm chart in the app-of-apps/ folder that generates all other ArgoCD Applications.
install.sh
└── installs ArgoCD
└── creates app-of-apps (root Application)
├── generates ArgoCD App: ingress-nginx-external
├── generates ArgoCD App: cert-manager
├── generates ArgoCD App: kube-prometheus-stack
├── generates ArgoCD App: loki
└── ... (all enabled applications)
Application Types
Each ArgoCD Application can deploy resources in one of three formats:
| Type | Description | Example |
|---|---|---|
helm (default) | Helm chart — either from an external repo or a local chart in charts/ | kube-prometheus-stack, backstage |
kustomize | Kustomize-based manifests | dashboards, hello |
raw | Plain Kubernetes YAML files | database, policy |
Multi-Source Applications
Helm applications use ArgoCD's multi-source feature with two sources:
- Chart source — the external Helm chart repository (or local chart path)
- Values source — this Git repository, providing value files
This means values are passed directly to the upstream chart — no wrapper charts, no subchart nesting. Also, value files can reside in a different repository, enabling developer-owned configuration in separate repos.
Operator + Config Chart Pattern
Components that install an operator and also need custom resources (CRDs) are split into two ArgoCD Applications:
- Operator app — installs the operator (e.g.
cert-manager) - Config app — deploys CRD instances and configuration (e.g.
cert-manager-config)
Config apps use syncWave: 2 to ensure the operator is installed first.