# ArgoCD Application: kube-prometheus-stack gerenciado por GitOps (source = Helm repo, versao fixada) apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: monitoring namespace: argocd spec: project: default source: repoURL: https://prometheus-community.github.io/helm-charts chart: kube-prometheus-stack targetRevision: 86.2.3 helm: values: | alertmanager: enabled: false grafana: admin: existingSecret: grafana-admin userKey: admin-user passwordKey: admin-password defaultDashboardsTimezone: America/Sao_Paulo ingress: enabled: true ingressClassName: traefik annotations: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.middlewares: monitoring-redirect-https@kubernetescrd hosts: - grafana.athleticmap.influxdigital.com.br tls: - secretName: grafana-tls hosts: - grafana.athleticmap.influxdigital.com.br resources: requests: cpu: 100m memory: 256Mi limits: memory: 512Mi prometheus: prometheusSpec: retention: 7d resources: requests: cpu: 200m memory: 512Mi limits: memory: 1536Mi storageSpec: volumeClaimTemplate: spec: storageClassName: local-path accessModes: [ReadWriteOnce] resources: requests: storage: 10Gi prometheusOperator: resources: requests: cpu: 50m memory: 128Mi # ── os tres CRITICAL que o k3s faz mentir (2026-09-21) ───────────── # # `KubeProxyDown`, `KubeSchedulerDown` e `KubeControllerManagerDown` # estavam disparando em PERMANENCIA, e sao FALSOS: o k3s roda esses tres # componentes EMBUTIDOS no processo do servidor e nao expoe as portas de # metrica que o chart procura (10249/10259/10257). Nao ha o que consertar # no cluster — o chart e que assume um Kubernetes "de pecas separadas". # # Por que desligar, e nao conviver: **tres criticos permanentes ensinam # todo mundo a ignorar alerta**. No dia em que o Alertmanager existir, # eles seriam a primeira coisa a chegar, e chegariam para sempre — e o # canal nasceria desacreditado. # # Isto NAO desliga vigilancia nenhuma de verdade: com o controlador ou o # scheduler fora, o no inteiro cai, e disso o `up` do kubelet e o # `AthleticMapTenantPodNotReady` falam alto. kubeProxy: enabled: false kubeScheduler: enabled: false kubeControllerManager: enabled: false # Mesmo caso: o etcd do k3s e embutido (SQLite/etcd interno) e nao # responde na porta que o chart espera. Ja vinha desligado no chart para # este arranjo; explicito aqui para nao voltar numa atualizacao. kubeEtcd: enabled: false destination: server: https://kubernetes.default.svc namespace: monitoring syncPolicy: automated: prune: false selfHeal: true syncOptions: - ServerSideApply=true - CreateNamespace=true