Skip to content

Allow plugins to add non-clickable section headers to the sidebar #6107

@Soli0222

Description

@Soli0222

Is your feature request related to a problem? Please describe the impact that the lack of the feature requested is creating.

When plugins add entries to the Headlamp sidebar, they can currently only add clickable navigation items.

registerSidebarEntry supports fields such as name, label, url, parent, useClusterURL, icon, and sidebar, but there is no way for a plugin to add a non-clickable section header such as "Observability" or "Plugin Tools".

As a result, when a plugin adds multiple related sidebar links, those links appear as a flat list of navigation items without a clear visual grouping. This becomes harder to scan when users install multiple plugins or when a plugin contributes several related views.

Describe the solution you'd like

I would like plugins to be able to register non-clickable sidebar section headers through the existing registerSidebarEntry API.

For example, a plugin could register a section header like this:

registerSidebarEntry({
  parent: null,
  name: 'observability-section',
  label: 'Observability',
  entryType: 'subheader',
});

Then the plugin could register normal sidebar links at the same level immediately after the section header:

registerSidebarEntry({
  parent: null,
  name: 'traces',
  label: 'Traces',
  url: '/traces',
  icon: 'mdi:chart-timeline-variant',
});

Expected behavior:

  • The section header is not clickable.
  • It is not rendered as a link or button.
  • It is not selected or highlighted as a route.
  • Existing sidebar entries continue to work as they do today.
  • When the sidebar is collapsed, there should still be a visual separator or equivalent indication for the section.

Example:

Image

What users will benefit from this feature?

This would mainly benefit Headlamp plugin developers and users who run Headlamp with multiple plugins or custom sidebar entries.

It would be especially useful for:

  • Plugins that add multiple related views to the sidebar.
  • Setups that group plugin views by categories such as observability, operations, security, or internal tools.
  • In-cluster or internally distributed Headlamp deployments with custom plugins.
  • Users whose sidebar contains many custom entries and needs clearer visual organization.

Are you able to implement this feature?

Yes. I can propose a PR.

Additional context

A current workaround is to register a normal sidebar entry and make it look like a heading. However, that item is still treated as a clickable navigation entry. From a user's point of view, it is unclear whether the item is a label with no destination or a real menu item.

The existing parent / subList behavior is useful for hierarchical navigation, but this request is slightly different. The goal is not to add another clickable parent item. The goal is to allow plugins to insert a non-clickable label that visually groups several links.

For example:

Observability
  Traces
  Metrics
  Logs

In this example, Observability is not a route or page. It is only a grouping label for related plugin-provided sidebar entries.

The exact API name and rendering details can be discussed, but having a supported way for plugins to register this kind of non-clickable sidebar section header would make plugin-provided navigation easier to organize.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions