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