kubernetes-sigs/headlamp

Add Devices sidebar section for Dynamic Resource Allocation APIs

Open

#4,831 opened on Mar 5, 2026

View on GitHub
 (5 comments) (2 reactions) (1 assignee)TypeScript (950 forks)auto 404
frontendhelp wantedkind/feature

Repository metrics

Stars
 (6,936 stars)
PR merge metrics
 (PR metrics pending)

Description

Overview

Add a new "Devices" sidebar section in the Headlamp UI supporting four Kubernetes Dynamic Resource Allocation (DRA) resources from the resource.k8s.io/v1 API group (Kubernetes 1.34+):

Resource Scope API Name
DeviceClass Cluster deviceclasses
ResourceSlice Cluster resourceslices
ResourceClaim Namespaced resourceclaims
ResourceClaimTemplate Namespaced resourceclaimtemplates

This involves:

  1. K8s resource classes — Create four new classes in frontend/src/lib/k8s/ (one per resource) extending KubeObject, and register them in ResourceClasses.
  2. UI components — Create list and detail view components for each resource under frontend/src/components/device/ (8 components total).
  3. Sidebar entry — Add a new "Devices" section in useSidebarItems.tsx with sub-items for each resource.
  4. Routes — Register list and detail routes for all four resources in the router. Namespaced resources (ResourceClaim, ResourceClaimTemplate) use :namespace/:name paths; cluster-scoped resources (DeviceClass, ResourceSlice) use :name only.
  5. i18n — Add translation keys for the new labels.

Contributor guide