Files
athletic-map-deploy/platform/monitoring-netpol-template.yaml.tmpl
T

41 lines
1.7 KiB
Cheetah

# =============================================================================
# Deixa o Prometheus raspar as metricas deste tenant.
#
# Aditivo a `deny-cross-tenant` (em `00-namespace-quota-netpol.yaml`), que fecha
# ingresso de fora do namespace. Sem esta politica o tenant sobe, funciona e fica
# INVISIVEL no Grafana — e um tenant sem metrica e um tenant em que ninguem
# percebe consumo subindo nem pod reiniciando.
#
# ── POR QUE `podSelector: {}` (2026-09-20) ──────────────────────────────────
#
# Antes a politica citava pods por NOME (`app: backend`, ou uma lista). Resultado:
# quando o `ServiceMonitor` passou a raspar os runtimes e os 13 servicos, TODOS os
# alvos novos ficaram `up=0` e o cluster acendeu 48 alertas de `TargetDown` — a
# coleta chegava ao Service e morria na rede.
#
# Lista de nomes aqui e a mesma lista do `ServiceMonitor` escrita duas vezes, em
# lugares diferentes, com o erro aparecendo so em producao. Agora vale para
# qualquer pod DESTE namespace, e a fronteira e a mesma de antes:
#
# - SO a porta 8083, que e a das metricas (`/actuator/prometheus`);
# - SO do namespace `monitoring`.
#
# O `frontend-spa` escuta na 80 e continua fora, sem precisar ser citado.
# =============================================================================
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-monitoring
namespace: __NS__
spec:
podSelector: {}
policyTypes: [Ingress]
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: monitoring
ports:
- protocol: TCP
port: 8083