# ============================================================================= # A pasta `platform/` passa a ser GITOPS (2026-09-21). # # ── O QUE ESTAVA ACONTECENDO ──────────────────────────────────────────────── # # As cinco Applications cobrem `tenants/`; a `monitoring` e o chart do # Helm. **Ninguem cobria `platform/`** — regras de alerta, ServiceMonitor, # dashboard e o Ingress do ArgoCD eram aplicados com `kubectl apply` a mao. # Consequencia: o repositorio podia dizer uma coisa e o cluster outra, e nada # avisava. Foi o que aconteceu: o clone tinha 2 regras de alerta e o cluster, 8. # # ── POR QUE ESTE ARQUIVO VIVE AQUI DENTRO ─────────────────────────────────── # # A Application que sincroniza `platform/` esta DENTRO de `platform/`: depois do # primeiro `kubectl apply`, ela passa a se manter sozinha. Mudanca nela vira # commit, como todo o resto. # # ── prune: false ──────────────────────────────────────────────────────────── # # Mesma escolha das outras Applications do projeto: arquivo removido do git NAO # apaga o recurso no cluster. Para remover de verdade, `kubectl delete` explicito # — apagar por esquecimento aqui derrubaria monitoramento ou o proprio Ingress do # ArgoCD. # # ── O `.tmpl` que fica de fora ────────────────────────────────────────────── # # `monitoring-netpol-template.yaml.tmpl` e MOLDE, com `__NS__` no lugar do # namespace: nao e manifesto valido. A extensao `.tmpl` ja o deixa fora do que o # ArgoCD le, e o `exclude` abaixo torna isso explicito para quem renomear. # ============================================================================= apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: atm-platform namespace: argocd spec: project: default source: repoURL: http://gitea-http.gitea.svc:3000/atmadmin/athletic-map-deploy.git targetRevision: main path: platform directory: recurse: true exclude: "*.tmpl" destination: server: https://kubernetes.default.svc # Os recursos trazem o proprio `namespace` (monitoring, argocd). Este e so o # destino de quem vier sem. namespace: monitoring syncPolicy: automated: prune: false selfHeal: true syncOptions: - CreateNamespace=false