[CNCF LFX Proposal] Headlamp Kyverno Plugin Policy Visualization & Operational Improvements
- Dominant language
- JavaScript
- Stars
- 3.1k
- Forks
- 816
- Avg merge
- 12h 32m
- Merged PRs (30d)
- 8
Description
### CNCF Project
Headlamp
### Term
2026 Term 3 (Sep-Nov)
### Program Name
Kyverno Policy Visualization & Operational Improvements
### Program Description
[Headlamp](https://headlamp.dev/) is a CNCF project providing an extensible, user-friendly web UI for Kubernetes clusters, with a growing plugin ecosystem covering CNCF projects like Flux, KEDA, Knative, and Kubeflow.
[Kyverno](https://github.com/kyverno/kyverno/) is a CNCF graduated Kubernetes-native policy engine that validates, mutates, and generates Kubernetes resources, used across thousands of clusters. The existing Headlamp Kyverno plugin has a solid dashboard with compliance metrics, policy list views, reports, and a violations view - but it is entirely read-only with no visualizations. Operators cannot see which resources a policy affects, why a policy behaves the way it does, or how to troubleshoot a violation. The plugin also has incomplete i18n coverage, no accessibility improvements, missing detail views for CEL-based policies (Kyverno v2), and no Prometheus metrics integration.
This project significantly upgrades the existing Headlamp Kyverno plugin by introducing two centerpiece visualizations - a Policy Impact Map to help operators understand which resources a policy affects and why, and an enhanced Violation Drill-Down to troubleshoot exactly which rule failed and how to fix it. The mentee will also integrate Prometheus metrics for real-time policy engine health, complete internationalization (i18n) coverage across all components, add accessibility (a11y) improvements , complete missing detail views for Kyverno v2 CEL policies, and register Kyverno as a Map view source in Headlamp.
### Expected Outcomes
- Policy Impact Map visualization: an interactive relationship graph on each Policy/ClusterPolicy detail page showing Policy → Namespaces → Affected Resources, color-coded by result status (pass/fail/warn). Clicking a resource node navigates to that resource's Headlamp detail page. Built using Headlamp's registerMapSource API to integrate natively with the Map view.
- Policy Rule Explainer: per-rule plain-English summaries on each policy detail page of what the rule enforces, which selectors match it, and a live count of currently passing vs. failing resources.
- Violation Drill-Down view: enhanced violations view grouped by policy (not just by resource), showing the exact rule that failed, the resource spec field that caused it, and a diff-format fix suggestion with "Jump to resource" and "Jump to policy" cross-links.
- Glance tooltips (registerKubeObjectGlance) for ClusterPolicy, Policy, PolicyReport, and ClusterPolicyReport — showing rule count, enforcement mode, and compliance % on hover in the Map view.
- Prometheus metrics integration: Kyverno-specific charts on detail pages — admission request rate (kyverno_admission_requests_total), violation rate (kyverno_policy_results_total{rule_result="fail"}), and controller reconcile duration (kyverno_controller_reconcile_duration_seconds) — following the established Prometheus plugin pattern.
- Complete i18n coverage: audit all 20+ component files, wrap all hardcoded strings with t(), and complete locale files for en, de, fr, es, zh, ja.
- Accessibility (a11y) improvements: ARIA labels on all icon buttons and charts, keyboard navigation for all interactive elements, screen-reader-compatible text equivalents for charts, color-blind-friendly palette (icons + patterns in addition to color), visible focus indicators.
- CRDs up to date (Kyverno v2): complete missing detail views for all CEL-based policy types (ValidatingPolicy, MutatingPolicy, GeneratingPolicy, DeletingPolicy, ImageValidatingPolicy), and update resource definitions to handle v2 schema differences.
- README with prerequisites and limitations, Storybook stories for all new components, and a blog post demoing the Policy Impact Map and violation troubleshooting workflow
### Technologies
TypeScript, React, Kubernetes, Kyverno CRDs, Prometheus
### Skills same as Technologies?
- [ ] Yes, the required skills are the same as the technologies listed above.
### Required/Desirable Skills
(Optional) UX design sensibilities
### Mentors
Rene Dudfield | @illume | renedudfield@microsoft.com | illume
Sumit Goyal | @itvi-1234 | Sumit.goyal.cse@gmail.com | sumit15012005
Ashwani Yadav | @NAME-ASHWANIYADAV | 22ashwaniyadav@gmail.com | ashwaniyadav
### Upstream Issue URL
https://github.com/headlamp-k8s/plugins/issues/938
### Application Prerequisites
- [x] Resume
- [x] Cover Letter
- [ ] School Enrollment Verification
- [ ] Participation Permission from school or employer
- [ ] Coding Challenge
- [ ] Custom Prerequisite (fill in details below)
### Coding Challenge URL
_No response_
### Custom Prerequisite Name
_No response_
### Custom Prerequisite Description
_No response_
### Custom Prerequisite — File Upload
- [ ] Yes — completion of this task requires the mentee to submit a file.
---
**LFX program:** [CNCF - Headlamp: Kyverno Policy Visualization & Operational Improvements (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/db537dd6-3ea7-49d0-9a53-f0b4ad772add)
Contributor guide
Research direction
Start with the existing Headlamp Kyverno plugin and the established Prometheus plugin pattern; inspect the registerMapSource and registerKubeObjectGlance entry points. Review the 20+ component files, locale files, resource definitions, README, and Storybook stories, then use the listed outcomes to define completion across visualizations, metrics, i18n, accessibility, and Kyverno v2 views.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, prometheus, react, typescript
- Domain
- devops, frontend, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100