cncf / cncf/mentoring

[CNCF LFX Proposal] Headlamp Adding Dynamic Resource Allocation (DRA) to Headlamp

Open
#2,017 15 comments 0 reactions 0 assignees View on GitHub
2026 CNCF Approved Exported lfx mentorship Maintainer/Contribex Approved Mentors Confirmed Over Quota 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

Adding Dynamic Resource Allocation (DRA) to Headlamp

### Program Description

## Description
[Headlamp](https://headlamp.dev/) is an extensible Kubernetes web UI. [Dynamic Resource Allocation (DRA)](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/) lets workloads request and share devices such as GPUs, network interfaces, and accelerators. Compared with device plugins, DRA supports richer selection, device classes, claim-based allocation, and sharing.

This project will add first-class DRA support to Headlamp. It will introduce a Devices section and views for four stable `resource.k8s.io/v1` kinds: cluster-scoped `DeviceClass` and `ResourceSlice`, and namespaced `ResourceClaim` and `ResourceClaimTemplate`. The UI will explain devices, selectors, pools, claims, allocations, placement, consumers, and status without relying on raw YAML.

In Kubernetes 1.36, the stable baseline includes these four APIs, prioritized request alternatives, and admin access. Stable capabilities are the project's first priority. All DRA APIs that are beta when the project begins are also in scope, including beta resource kinds and capabilities such as device status, health and binding conditions, granular status authorization, extended-resource allocation, partitionable devices, consumable capacity, and device taints. API discovery and compatibility checks will keep the stable experience working where beta features are unavailable.

The work will follow Headlamp conventions for RBAC, accessibility, and internationalization. Links and map visualizations should trace allocation from a workload or claim to its class, devices, slices, and nodes. Metrics integration should show device availability, allocation, and health when a compatible source is available. Advanced features will be prioritized with mentors and the community.

## Expected outcomes

By the end of the term, the mentee is expected to have:

- Added typed classes and UI support for stable Kubernetes 1.36 DRA resources and capabilities, followed by beta resources available when the project begins.
- Added a Devices sidebar section, routes, and list and detail views for the stable resources and in-scope beta APIs.
- Presented DRA configuration, capacity, allocation, conditions, consumers, and node availability clearly.
- Added navigation among DRA resources and relevant Pods or nodes.
- Added map visualizations for DRA resource relationships and integrated available device metrics into relevant views.
- Added API discovery, RBAC handling, and unavailable states for clusters without DRA support or drivers.
- Added support for all beta DRA APIs available in the target Kubernetes release without making them dependencies of the stable experience.
- Added accessible, internationalized UI, focused tests, fixtures, and documentation.
- Published a Kubernetes blog post describing the project, its DRA workflows, and how to use the new Headlamp features.
- Collaborated through design discussions, reviews, and incremental pull requests.

### Technologies

TypeScript, React, (Optional) Kubernetes CRDs and Operators

### Skills same as Technologies?

- [x] Yes, the required skills are the same as the technologies listed above.

### Required/Desirable Skills

_No response_

### Mentors

Kevin Hannon |  @kannon92  | kehannon@redhat.com | kannon92
Heba Elayoty | @helayoty | hebaelayoty@gmail.com | helayoty
Rene Dudfield | @illume | renedudfield@microsoft.com | illume

### Upstream Issue URL

https://github.com/kubernetes-sigs/headlamp/issues/4831

### 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: Adding Dynamic Resource Allocation (DRA) to Headlamp (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/d5b57a08-b6b6-4818-9a66-880544d4a7e9)

Contributor guide

Open the contributing guide

Research direction

Start with the linked upstream Headlamp issue and the Kubernetes DRA documentation, then discuss an incremental scope with the listed mentors. Done includes stable DRA resource views, navigation, compatibility and RBAC handling, accessibility, internationalization, focused tests, fixtures, and documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, react, typescript
Domain
devops, frontend, infrastructure
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.