diff --git a/pkg/app/piped/cloudprovider/kubernetes/resourcekey.go b/pkg/app/piped/cloudprovider/kubernetes/resourcekey.go index 74564ac44b..5c1952729d 100644 --- a/pkg/app/piped/cloudprovider/kubernetes/resourcekey.go +++ b/pkg/app/piped/cloudprovider/kubernetes/resourcekey.go @@ -72,6 +72,10 @@ const ( KindService = "Service" KindIngress = "Ingress" KindServiceAccount = "ServiceAccount" + KindRole = "Role" + KindRoleBinding = "RoleBinding" + KindClusterRole = "ClusterRole" + KindClusterRoleBinding = "ClusterRoleBinding" DefaultNamespace = "default" ) diff --git a/pkg/app/piped/cloudprovider/kubernetes/state.go b/pkg/app/piped/cloudprovider/kubernetes/state.go index 831ea31eb0..ca78c3c4e2 100644 --- a/pkg/app/piped/cloudprovider/kubernetes/state.go +++ b/pkg/app/piped/cloudprovider/kubernetes/state.go @@ -98,6 +98,14 @@ func determineResourceHealth(key ResourceKey, obj *unstructured.Unstructured) (s return determineSecretHealth(obj) case KindServiceAccount: return determineServiceAccountHealth(obj) + case KindRole: + return determineRoleHealth(obj) + case KindRoleBinding: + return determineRoleBindingHealth(obj) + case KindClusterRole: + return determineClusterRoleHealth(obj) + case KindClusterRoleBinding: + return determineClusterRoleBindingHealth(obj) default: desc = "Unimplemented or unknown resource" return @@ -106,6 +114,30 @@ func determineResourceHealth(key ResourceKey, obj *unstructured.Unstructured) (s return } +func determineRoleHealth(obj *unstructured.Unstructured) (status model.KubernetesResourceState_HealthStatus, desc string) { + desc = fmt.Sprintf("%q was applied successfully", obj.GetName()) + status = model.KubernetesResourceState_HEALTHY + return +} + +func determineRoleBindingHealth(obj *unstructured.Unstructured) (status model.KubernetesResourceState_HealthStatus, desc string) { + desc = fmt.Sprintf("%q was applied successfully", obj.GetName()) + status = model.KubernetesResourceState_HEALTHY + return +} + +func determineClusterRoleHealth(obj *unstructured.Unstructured) (status model.KubernetesResourceState_HealthStatus, desc string) { + desc = fmt.Sprintf("%q was applied successfully", obj.GetName()) + status = model.KubernetesResourceState_HEALTHY + return +} + +func determineClusterRoleBindingHealth(obj *unstructured.Unstructured) (status model.KubernetesResourceState_HealthStatus, desc string) { + desc = fmt.Sprintf("%q was applied successfully", obj.GetName()) + status = model.KubernetesResourceState_HEALTHY + return +} + func determineDeploymentHealth(obj *unstructured.Unstructured) (status model.KubernetesResourceState_HealthStatus, desc string) { d := &appsv1.Deployment{} err := scheme.Scheme.Convert(obj, d, nil)