New app template (gitops.template)¶
Scaffold for creating a new gitops.<app> repository for one of the org's
own applications (not a third-party addon — for that, see the
helm/<addon> pattern in the addon catalog).
What's already there¶
gitops.template/
├── argocd/
│ └── .gitkeep ← intentionally empty, see below
├── helm/
│ ├── Chart.yaml ← depends on gitops.generic-app-chart
│ └── values.yaml
├── catalog-info.yaml
└── renovate.json
helm/ already declares the
generic app chart as a dependency —
covers Deployment + Service + HTTPRoute (Gateway API) +
ExternalSecret without writing any of those resources by hand.
Using the template¶
- Copy the template into the new
gitops.<app>repo. - In
helm/Chart.yaml, replace<app-name>with the real app name. - Fill in
helm/values.yaml—image.repository/tag,service.targetPort,httpRoute.hostnames(which of the two Gateways, see Networking & Ingress),externalSecretsif the app has any secret. Full field reference lives in the generic chart'svalues.yaml. - Run
helm dependency update helm/before committing, to resolve the subchart (generatesChart.lock+charts/, both committed). - Leave
argocd/empty (just.gitkeep) —ApplicationSet/gitops-reposgenerates theApplicationautomatically for anygitops.*repo. Only populateargocd/manually if the app has more than one deployable component (likegitops.teupadel.comandgitops.local-sara, which have api + ui in the same repo).
Resolving the chart dependency¶
Two source patterns for the generic chart dependency coexist today among consumers:
- OCI (
oci://ghcr.io/cmoreira-dev/charts) — used bygitops.teupadel.comandgitops.local-sara, resolves with no extra plugin on ArgoCD. - Git (
git+https://...) — this template's default, which depends on thehelm-gitplugin in the ArgoCD repo-server to resolve at sync time.
When copying the template, it's worth confirming which of the two the
Chart.yaml is using before the first real sync.