Template de novo app (gitops.template)¶
Scaffold para criar um novo repositório gitops.<app> para uma aplicação
própria (não um addon de terceiros — para isso, ver o padrão helm/<addon> do
catálogo de addons).
O que já vem pronto¶
gitops.template/
├── argocd/
│ └── .gitkeep ← vazio de propósito, ver abaixo
├── helm/
│ ├── Chart.yaml ← depende de gitops.generic-app-chart
│ └── values.yaml
├── catalog-info.yaml
└── renovate.json
helm/ já declara o chart genérico de apps
como dependência — cobre Deployment + Service + HTTPRoute (Gateway API) +
ExternalSecret sem precisar escrever nenhum desses recursos à mão.
Usando o template¶
- Copiar o template para o novo repo
gitops.<app>. - Em
helm/Chart.yaml, trocar<app-name>pelo nome real do app. - Preencher
helm/values.yaml—image.repository/tag,service.targetPort,httpRoute.hostnames(qual das duas Gateways, ver Rede & Ingress),externalSecretsse a app tiver algum segredo. Referência completa dos campos novalues.yamldo chart genérico. - Rodar
helm dependency update helm/antes de commitar, para resolver o subchart (geraChart.lock+charts/, ambos commitados). - Deixar
argocd/vazio (só.gitkeep) — oApplicationSet/gitops-reposgera aApplicationautomaticamente para qualquer repogitops.*. Só popularargocd/manualmente se o app tiver mais de um componente deployável (comogitops.teupadel.comegitops.local-sara, que têm api + ui no mesmo repo).
Resolução da dependência do chart¶
Dois padrões de origem para a dependência do chart genérico coexistem hoje entre os consumidores:
- OCI (
oci://ghcr.io/cmoreira-dev/charts) — usado porgitops.teupadel.comegitops.local-sara, resolve sem plugin adicional no ArgoCD. - Git (
git+https://...) — o default deste template, que depende do pluginhelm-gitno repo-server do ArgoCD para resolver em sync.
Ao copiar o template, vale confirmar qual das duas formas o Chart.yaml está
usando antes do primeiro sync real.