From 2610e96ca4ea5d99cb8d8d90e1894535db8e17f2 Mon Sep 17 00:00:00 2001 From: andersonid Date: Fri, 17 Oct 2025 10:09:44 -0300 Subject: [PATCH] Fix: Storage Analysis RBAC permissions and StorageClass API call --- app/core/kubernetes_client.py | 5 +++-- k8s/rbac.yaml | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/core/kubernetes_client.py b/app/core/kubernetes_client.py index 90ac592..626860a 100644 --- a/app/core/kubernetes_client.py +++ b/app/core/kubernetes_client.py @@ -551,8 +551,9 @@ class K8sClient: raise RuntimeError("Kubernetes client not initialized") try: - # List all storage classes - storage_classes = self.v1.list_storage_class(watch=False) + # List all storage classes using the storage API + storage_api = client.StorageV1Api() + storage_classes = storage_api.list_storage_class(watch=False) return storage_classes.items except ApiException as e: diff --git a/k8s/rbac.yaml b/k8s/rbac.yaml index 707f080..54880ae 100644 --- a/k8s/rbac.yaml +++ b/k8s/rbac.yaml @@ -43,6 +43,13 @@ rules: - apiGroups: [""] resources: ["events"] verbs: ["get", "list", "watch", "create"] +# Permissões para storage (PVCs e StorageClasses) +- apiGroups: [""] + resources: ["persistentvolumeclaims", "persistentvolumes"] + verbs: ["get", "list", "watch"] +- apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding