From 298b3d13fb2482de514dd2b55afc7510e0bb3be0 Mon Sep 17 00:00:00 2001 From: deploy Date: Thu, 24 Sep 2026 21:52:19 +0000 Subject: [PATCH] feat(plataforma): a etapa BANCO_CRIADO pode recarregar o PgBouncer Le o ConfigMap pgbouncer-conf (para saber se o Argo ja aplicou) e reinicia o Deployment pgbouncer. Os dois amarrados por resourceNames. --- .../plataforma/16-rbac-provisionamento.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tenants/plataforma/16-rbac-provisionamento.yaml b/tenants/plataforma/16-rbac-provisionamento.yaml index 6df9b83..440e869 100644 --- a/tenants/plataforma/16-rbac-provisionamento.yaml +++ b/tenants/plataforma/16-rbac-provisionamento.yaml @@ -83,6 +83,24 @@ rules: resources: ["secrets"] verbs: ["get"] resourceNames: ["pgbouncer-userlist"] + # Para saber se o Argo JA aplicou a linha do tenant novo. Sem esta leitura, a + # etapa reiniciaria o pool as cegas — e reiniciar antes de o Argo aplicar sobe + # o pod novo lendo a configuracao VELHA, derrubando as conexoes de todos os + # tenants por nada. + - apiGroups: [""] + resources: ["configmaps"] + verbs: ["get"] + resourceNames: ["pgbouncer-conf"] + # O PgBouncer NAO rele a configuracao sozinho: o ConfigMap muda, o kubelet + # atualiza o arquivo montado, e o processo segue com o que leu na subida. Sem + # este `patch` o tenant novo fica com banco e papel criados e sem pool, para + # sempre e sem erro que aponte para ca. + # + # `resourceNames` amarra ao pgbouncer: nenhum outro Deployment e alcancavel. + - apiGroups: ["apps"] + resources: ["deployments"] + verbs: ["patch"] + resourceNames: ["pgbouncer"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding