From 3100678d8455fb6a911eb5cb95496a57a61660f1 Mon Sep 17 00:00:00 2001 From: doxsch <28098153+doxsch@users.noreply.github.com> Date: Thu, 8 Jan 2026 12:36:56 +0100 Subject: [PATCH] Add resource-specific health checks for standard Kubernetes role and rolebinding resources Signed-off-by: doxsch <28098153+doxsch@users.noreply.github.com> --- README.md | 4 ++-- healthchecks/registry.go | 2 ++ healthchecks/role.go | 14 ++++++++++++++ healthchecks/rolebinding.go | 14 ++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 healthchecks/role.go create mode 100644 healthchecks/rolebinding.go diff --git a/README.md b/README.md index a6d7ee5..d571b3a 100644 --- a/README.md +++ b/README.md @@ -51,9 +51,9 @@ This function implements resource-specific health checks for standard Kubernetes - [ ] NetworkPolicy ### RBAC (rbac.authorization.k8s.io/v1) -- [ ] Role +- [x] Role - Always ready if it exists - [ ] ClusterRole -- [ ] RoleBinding +- [x] RoleBinding - Always ready if it exists - [ ] ClusterRoleBinding ### Storage (storage.k8s.io/v1) diff --git a/healthchecks/registry.go b/healthchecks/registry.go index a323dca..a957f2e 100644 --- a/healthchecks/registry.go +++ b/healthchecks/registry.go @@ -68,6 +68,8 @@ func init() { registerPersistentVolumeClaimHealthCheck() registerPodHealthCheck() registerReplicaSetHealthCheck() + registerRoleHealthCheck() + registerRoleBindingHealthCheck() registerSecretHealthCheck() registerServiceHealthCheck() registerServiceAccountHealthCheck() diff --git a/healthchecks/role.go b/healthchecks/role.go new file mode 100644 index 0000000..bf04965 --- /dev/null +++ b/healthchecks/role.go @@ -0,0 +1,14 @@ +package healthchecks + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func registerRoleHealthCheck() { + gvk := schema.GroupVersionKind{ + Group: "rbac.authorization.k8s.io", + Version: "v1", + Kind: "Role", + } + RegisterHealthCheck(gvk, alwaysReady) +} diff --git a/healthchecks/rolebinding.go b/healthchecks/rolebinding.go new file mode 100644 index 0000000..a97c4b4 --- /dev/null +++ b/healthchecks/rolebinding.go @@ -0,0 +1,14 @@ +package healthchecks + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func registerRoleBindingHealthCheck() { + gvk := schema.GroupVersionKind{ + Group: "rbac.authorization.k8s.io", + Version: "v1", + Kind: "RoleBinding", + } + RegisterHealthCheck(gvk, alwaysReady) +}