Skip to content

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

Description

@illume

CNCF Project

Headlamp

Term

2026 Term 3 (Sep-Nov)

Program Name

Adding Dynamic Resource Allocation (DRA) to Headlamp

Program Description

Description

Headlamp is an extensible Kubernetes web UI. Dynamic Resource Allocation (DRA) 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?

  • 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

kubernetes-sigs/headlamp#4831

Application Prerequisites

  • Resume
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    🆕 New
    Status
    Awaiting approvals/confirmations

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions