Skip to content

fix: acotar permisos RBAC de weblate (wildcard → reglas específicas)#64

Open
dib-adhoc wants to merge 1 commit into
mainfrom
fix/weblate-rbac-wildcard
Open

fix: acotar permisos RBAC de weblate (wildcard → reglas específicas)#64
dib-adhoc wants to merge 1 commit into
mainfrom
fix/weblate-rbac-wildcard

Conversation

@dib-adhoc

Copy link
Copy Markdown
Contributor

Problema

charts/weblate/templates/rbac.yaml definía admin-role con apiGroups/resources/verbs: ["*"] — control total del namespace para cualquier usuario en k8sAdmin.users.

El binding es opt-in (vacío por defecto), pero con el wildcard cualquier usuario bindeado podía leer todos los Secrets, crear pods arbitrarios y modificar el CNPG Cluster.

Cambio

Reemplazado el wildcard por reglas explícitas que cubren las operaciones reales del administrador de Weblate:

Recurso Verbs
apps/statefulsets get, list, patch, update
pods, pods/log, pods/exec get, list, create
events, services get, list
postgresql.cnpg.io/clusters,backups,scheduledbackups get, list, patch, update
secrets get, list
persistentvolumeclaims get, list

Verificación

helm lint charts/weblate/        # 0 errores
helm template test charts/weblate/  # Role renderiza correctamente

Notas para el reviewer

  • secrets: get/list es necesario para gestión de SSH keys y credenciales — si se considera excesivo, puede eliminarse y agregarse on-demand.
  • El RoleBinding sigue siendo opt-in (k8sAdmin.users: [] por defecto) — no cambia comportamiento en instalaciones existentes sin usuarios configurados.

… específicas

El Role admin-role tenía apiGroups/resources/verbs: ["*"] otorgando
control total del namespace a cualquier usuario bindeado. Reemplazado
por reglas explícitas que cubren las operaciones reales necesarias:
StatefulSet, pods/logs/exec, events, services, CNPG CRDs, secrets
y PVCs.
Copilot AI review requested due to automatic review settings June 9, 2026 18:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR reduce el alcance del RBAC del chart de Weblate reemplazando el Role con wildcards (* en apiGroups/resources/verbs) por un conjunto de reglas explícitas, manteniendo el RoleBinding como opt-in vía k8sAdmin.users.

Changes:

  • Sustituye permisos RBAC tipo wildcard por reglas específicas para StatefulSets, Pods (logs/exec), Services, Events, recursos de CNPG, Secrets y PVCs.
  • Actualiza el comentario de cabecera para documentar el propósito del Role y que el binding es opt-in.

Comment on lines +12 to +14
- apiGroups: [""]
resources: ["pods", "pods/log", "pods/exec"]
verbs: ["get", "list", "create"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants