From 804f051cc57b1daa585fe4414ba985dbc4efc44f Mon Sep 17 00:00:00 2001 From: deploy Date: Mon, 21 Sep 2026 11:40:44 +0000 Subject: [PATCH] fix(plataforma): o CronJob espera a rede aceitar o pod novo --- .../plataforma/55-cronjobs-financeiro.yaml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tenants/plataforma/55-cronjobs-financeiro.yaml b/tenants/plataforma/55-cronjobs-financeiro.yaml index 6f05a25..64be796 100644 --- a/tenants/plataforma/55-cronjobs-financeiro.yaml +++ b/tenants/plataforma/55-cronjobs-financeiro.yaml @@ -65,6 +65,30 @@ data: echo "[$(date -u +%FT%TZ)] alvo: ${ALVO}" + # 0. Esperar a REDE aceitar este pod. + # + # O controlador de rede do k3s leva dezenas de segundos para programar as + # NetworkPolicies de um pod RECEM-CRIADO. Ate la a conexao e RECUSADA na + # hora — o `curl` falha em milissegundos com "Could not connect", que + # parece Keycloak fora do ar e nao e. + # + # Medido em 2026-09-21: o primeiro disparo deste CronJob falhou assim, + # enquanto um pod de horas alcancava o mesmo endereco normalmente. + # + # Ate 24 tentativas, 5 s entre elas: dois minutos, que e mais do que o + # atraso observado e menos do que o intervalo de qualquer um dos tres. + i=0 + until curl -sS -o /dev/null -m 5 "${KEYCLOAK_URL}" 2>/dev/null; do + i=$((i+1)) + if [ "$i" -ge 24 ]; then + echo "ERRO: ${KEYCLOAK_URL} inalcancavel depois de 2 min." >&2 + echo " Se for pod novo, e a politica de rede ainda nao programada;" >&2 + echo " se persistir, confira o Service keycloak e a deny-cross-tenant." >&2 + exit 1 + fi + sleep 5 + done + # 1. Token. O segredo vai por STDIN: em `argv` um `ps` dentro deste # container o veria. RESP="$(printf 'grant_type=client_credentials&client_id=operacao&client_secret=%s' \