cncf / cncf/mentoring

[CNCF LFX Proposal] Headlamp Kyverno Plugin Policy Visualization & Operational Improvements

Open
#2,000 19 comments 2 reactions 0 assignees View on GitHub
2026 CNCF Approved Exported lfx mentorship Maintainer/Contribex Approved Mentors Confirmed Proposal Term 3: Sept-Nov Validation Passed
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.