Skip to content

Releases: kubernetes-sigs/headlamp

0.36.0

02 Oct 17:07

Choose a tag to compare

✨ Enhancements:

  • Add support for EndpointSlice resources
  • Add memory for table sorting column and direction across navigation. Thanks to @krrish-sehgal
  • Enhance global search to support searching by labels and improve multi-term queries
  • Add a button to copy a resource's name to the clipboard. Thanks to @farodin91
  • Standardize resource naming behavior across all resource types. Thanks to @farodin91
  • Add support for more rule types in HTTPRoute resources. Thanks to @farodin91
  • Fix and improve the log viewer inputs for responsiveness and usability
  • Add a default security context and allow the plugins manager to use the global security context in Helm charts. Thanks to @jda258
  • Add optional backend TLS termination support. Thanks to @shahvrushali22 and @vijayant7
  • Add support for an optional PodDisruptionBudget in the Helm chart. Thanks to @jcpunk
  • Add the ability to specify custom podLabels in the Helm chart. Thanks to @vnea
  • Add snackbar notifications for plugin deletion actions
  • Add support for opening external URLs from the sidebar in a new tab. Thanks to @Exar04
  • Add namespaceOverride support to the Helm chart. Thanks to @rstribrn
  • Allow plugins to override default tabs in the project details view
  • Add an isEnabled method to allow plugins to conditionally render project detail tabs
  • Add support for HEADLAMP_APP_ and REACT_APP_ environment variables in plugins
  • Add support for running Headlamp embedded within Backstage
  • Add the ability for plugins to register a custom delete button for projects
  • Add a loader and error page for the initial backend connection

Copy resource name to clipboard

Screenshot shows the clipboard copy button

Persistent Table sorting

Tables will now remember your sorting choices

A table showing the Namespace field is sorting

Search improvements

You can now search by labels and combine multiple terms by separating them with spaces

Search results showing part-of=flux

Added support of EndpointSlices

EndpointsSlices are now available in Network sidebar

Screenshot shows the EndpointSlices menu option with a table full of data

🐞 Bug fixes

  • Fix the text contrast of notification menu items on dark themes
  • Fix the base URL feature to ensure the application loads correctly when a base URL is configured. Thanks to @DanielLeone
  • Fix an issue where deleting one dynamic cluster removed all clusters from the same kubeconfig
  • Prevent stale entries from appearing after renaming a dynamic cluster
  • Fix truncated Chinese text in the resource map's graph view buttons. Thanks to @wingerx
  • Update the "Type" column header to "Kind" in resource tables for consistency. Thanks to @LinPr
  • Fix bundling for icons to ensure they are visible in offline mode
  • Add backward compatibility to createRouteURL to accept URL paths for route names
  • Restore the GetTokenFromCookie call within the ParseClusterAndToken function
  • Handle cases where routeName is undefined in getRoute to prevent crashes
  • Correct the positioning of CPU/Memory tooltips in the Nodes table. Thanks to @jaehanbyun
  • Close the actions menu when the "Edit" button is clicked. Thanks to @jaehanbyun)
  • Add a fallback for idpIssuerURL to prevent issues with token expiration. Thanks to @lszczepaniak-XM
  • Fix security context rendering in Helm charts for CI jobs
  • Fix a glob pattern in setup-plugins.js to support Windows paths
  • Fix createRouteURL to correctly look up routes registered from plugins
  • Fix project creation when multiple clusters are involved
  • Prevent dialog checkbox clicks from triggering table row selection. Thanks to @jaehanbyun
  • Disable the backend loader to prevent an error page on application load

💻 Development

  • Refactor the GetExpiryUnixTimeUTC function into the auth package
  • Refactor the configuration parsing function for clarity and reduced complexity
  • Extract DropZoneBox into its own reusable component
  • Update application dependencies, removing electron/notarize and adding glob
  • Replace usages of the deprecated makeKubeObject() function with the KubeObject class
  • Fix circular dependencies in the lib/k8s folder by using import type
  • Extract functions from fetch.ts to new files to avoid circular imports
  • Resolve circular dependencies in the k8s API proxy imports
  • Refactor the router implementation to untangle module imports
  • Add Storybook stories for the DateLabel component
  • Refactor the CacheRefreshedToken function into the auth package
  • Use import type in more files to separate type and value imports
  • Bump the Vite dependency to version 6.3.6 in the frontend and plugins
  • Refactor the IsTokenAboutToExpire function into the auth package
  • Add logging to the plugin npm start command to show where files are copied
  • Fix Storybook support for plugins
  • Export missing functions and types from the headlamp-plugin package
  • Fix the return type for HeaderActionFuncType to correctly include ReactNode
  • Refactor the GetNewToken function into the auth package
  • Fix the Docker extension release process to consistently use the latest tag
  • Disable the nightly build workflow on forked repositories
  • Update the failing EndpointSlice snapshot test
  • Improve the plugin create command's speed and security by using npm ci
  • Update GitHub issue templates to use correct repository labels. Thanks to @jaehanbyun

📖 Documentation

  • Enhance the AKS cluster OAuth documentation with clearer steps and Helm-based deployment instructions
  • Update the project name in the NOTICE file
  • Add a note about the removal of libgconf-2-4 on newer Ubuntu releases
  • Add VKS (VMware Kubernetes Service) to the list of supported platforms. Thanks to @papivot
  • Fix a broken link to the architecture page from the plugins documentation

🧩 Shipped Plugins

  • Update shipped plugin prometheus 0.8.0
    • Update dependencies
  • Update shipped plugin plugin-catalog 0.4.1 (desktop only)
    • Update dependencies
    • Fix contrast on loading install button
    • Fix origin link
  • Update shipped plugin app-catalog 0.6.3 (desktop only)
    • Update dependencies
    • Add package script

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.36.0
Desktop Apps:

🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)

headlamp-helm-0.36.0

02 Oct 21:28
69241fc

Choose a tag to compare

Headlamp is an easy-to-use and extensible Kubernetes web UI.

headlamp-helm-0.35.0

03 Sep 07:10
b574b73

Choose a tag to compare

Headlamp is an easy-to-use and extensible Kubernetes web UI.

0.35.0

02 Sep 17:12

Choose a tag to compare

✨ Enhancements:

  • Add Projects feature (namespace-based, a collection of Kubernetes resources for organizing deployed applications or workloads)
  • Gateway API resources can be seen on the map view. Thanks to @userAdityaa
  • Add copy to clipboard button on secrets view
  • Add Kube config upload options. Thanks to @Exar04
  • Can see more than 20 labels on Nodes and Pods now without clicking edit. Thanks to @shezaan-hashgraph
  • Improvements to local cluster support on Mac, and with display of status on Home Overview
  • Helm Chart is available on GHCR now. Thanks to @onedr0p and @joryirving
  • In the helm chart, ability to specify automountServiceAccountToken in the spec of the pod. Thanks to @vnea
  • Now it is possible to add annotations to services in the helm chart. Thanks to @lszczepaniak-XM
  • Add oidc-callback-url flag to backend and chart
  • Add link to minikube in plugin-catalog on the Add cluster view
  • Add support for custom CA and skipping TLS verification to backend and chart, improving flexibility for users working with self-signed OIDC providers
  • Improvements to filter, to allow filtering for broken pods and multi select. Thanks to @farodin91
  • Handle new k8s feature, native sidecars
  • i18n support in plugins
  • Changing theme font in plugins. Thanks to @kirederik
  • Optional cache for k8s API calls to reduce API server load. Thanks to @upsaurav12
  • Expand grouped CRs in sidebar. Making installations with lots of CRs much more usable. Thanks to @farodin91

New Projects feature

Screenshot showing the new Project feature

Custom Resources are now grouped in the sidebar

For clusters with many Custom resources installed this makes it much easier to see them grouped in the sidebar.

Screenshot showing Custom Resources are now grouped in the sidebar

Gateway API resources can be seen on the map view.

Selecting Gateway API resources on the map view Showing the map view with the relationship between some Gateway API resources

Copy to clipboard button on secrets view

image

New Kube config upload options

Now people can upload kube config files by URL

Drop multiple files

🐞 Bug fixes

  • Mac app no longer needs reloading to show plugins on some laptops in cases like when Headlamp was first run
  • Fix for realtime updates because of web socket error when telemetry was enabled. Thanks to @wingerx
  • App no longer needs to wait several seconds longer than necessary for clusters to display
  • Sidebar a11y issue with focus on collapsed items was fixed. Thanks to @andoriyaprashant
  • Make monaco-editor work again in an offline/air-gapped environment and fix localisation. This improves security and i18n functionality. Thanks to @DanielLeone
  • Status Labels are wrapped incorrect (was "Pendin" on one line, "g" on the next)
  • Fix for activity bar close button styling. Thanks to @Exar04
  • Contrast fix for actions notifier (cancel button was not visible)
  • Cookies are used for token rather than local storage improving security
  • The plugin settings works again to allow disabling/enabling plugins
  • Fix on the cluster context menu on the Home Overview page to not show multiple delete actions when a plugin defines a delete action
  • Fix for the network icon in map
  • A number of now unused dependencies were trimmed from the frontend and from headlamp-plugin
  • Fixes for shell escaping in script used for signing some binaries. Thanks to @odaysec
  • Fix display of accessModes on VolumeList detail view
  • Fix fetchConfig to return a proper value removing error in web dev console. Thanks to @wingerx
  • Fix for overflow on logs view Thanks to @greedy-wudpeckr
  • A11y fix for Alert contrast in dark-mode
  • Refactor CRs to use existing components. Thanks @farodin91
  • Fix so plugins can be deleted again in Plugin settings
  • Fix warnings, and bump node to 22 in Dockerfile. Thanks to @LinPr

💻 Development

  • From 5x to 60x faster app load in development with cd app && npm run star
  • Fix for running app on Windows with cd app && npm start
  • Improved "releaser check" tool to so we can see which external release artefacts released correctly
  • Remove unnecessary loop assignments which is possible in newer versions of golang. Thanks to @LinPr
  • Clean up some parse tests. Thanks to @andoriyaprashant
  • Fix bug in app for running long running javascripts use by minikube plugin
  • Plugin manager can now download non tar.gz extra files
  • Add gitignore for mac .DS_Store files
  • Update golang version to 1.24.6. Thanks to @mkm29
  • Stories for the Overview component were added. Thanks to @1012Charan
  • Some unused functionality for plugins was removed "loadDevPlugins"
  • Update storybook to 9.1.2
  • Add registerClusterStatus for adding cluster status to the Overview cluster list
  • Extract some auth related methods to new auth package with tests
  • Add projects plugin example, for extending new Namespace Projects feature on Home

Plugins gain the ability to customise the font-family from a AppTheme. Thanks to @kirederik

Theme registration:

import './index.css'; // where the @font-face is defined

registerAppTheme({
  name: "My Custom Theme",
  base: "light",
  primary: "#ff0000",
  secondary: "#333",
  fontFamily: ["Asimovian"],
})
Headlamp with a different font

📖 Documentation

  • Document some functions in lib/k8s
  • Add note about hack to get around issue installing with brew on Mac whilst binaries are not signed. Thanks to @kierr
  • Add GKE to user tested platform table. Thanks to @eranchetz

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.35.0

Desktop Apps:

🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)

headlamp-helm-0.34.0

05 Aug 13:42
6e327ad

Choose a tag to compare

Headlamp is an easy-to-use and extensible Kubernetes web UI.

0.34.0

31 Jul 13:52

Choose a tag to compare

✨ Enhancements:

  • Add a close all button to the overview
  • Make the activity overview button sticky and make it a toggle button
  • Allow multiple selection in tables by using Shift+Clicking. Thanks to @krrish-sehgal
  • Add cluster info the activities
  • Improve the security of how plugins are loaded
  • Add tooltip to pods list for displaying requests and limits
  • Add create pod / job buttons to their respective list views. Thanks to @ChayanDass
  • Update the Network icon in the map. Thanks to @blazethunderstorm
  • Persist showing timestamps choice in the log viewer. Thanks to @blazethunderstorm

🐞 Bug fixes

  • Fix closing an edit/view YAML activity by clicking the close button. Thanks to @ChayanDass
  • Fix height in docs viewer
  • Fix typo in BackendTLSPolicy filenames. Thanks to @userAdityaa
  • Fix multiple a11y issues
  • Exit the activity overview automatically when the last activity in it is closed
  • Fix how Custom Resource Definitions are shown in activities
  • Add token to request only when available
  • Fix the editor closing after a successful apply. Thanks to @ChayanDass
  • Chart: Fix extraManifests example in the. Thanks to @xfrancois
  • Fix portforwarding when not in a cluster view and different portforwarding issues on Mac

💻 Development

  • Add storybook coverage to NodeShellSettings, AppLogo, and ClusterSelector. Thanks to @mahmoodalisha
  • Fix test scripts to only run .ts tests in electron
  • Enhance click handling in table rows
  • Add Gateway API manifests for local testing. Thanks to @userAdityaa
  • Add app-test target to the Makefile
  • Update misc dependencies
  • Improve the security and flexibility of running commands from plugins
  • Add BackendTrafficPolicy KubeObject model definition and storybook coverage. Thanks to @userAdityaa
  • CI: Add test step to the app workflows

📖 Documentation

  • Mention the app-test Makefile target in the app README
  • Add gateway.md documentation file. Thanks to @userAdityaa

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.34.0
Desktop Apps:

🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)

headlamp-helm-0.33.0

23 Jul 11:13
d4bcdb2

Choose a tag to compare

Headlamp is an easy-to-use and extensible Kubernetes web UI.

0.33.0

17 Jul 20:32

Choose a tag to compare

✨ Enhancements:

  • Add new task bar which allows to keep otherwise transient tasks open
    • This feature allows e.g. opening several logs views and view them side by side
    • Allows keeping a terminal, logs, details view, etc. open while navigating to other clusters or views
    • Also allows long-running tasks to be kept around without blocking the navigation
  • Make CRDs views more consistent with the remaining views. Thanks to @farodin91 .
  • Speed up load time and experience for the desktop version
  • Optimize rendering and improve styling of the map
  • Add global filter to tables. Thanks to @userAdityaa .
  • Add BackendTLSPolicy views. Thanks to @userAdityaa .
  • Add create button for more resources
  • Add Tamil locale. Thanks to @fromsaurav .
  • Add hostIPs and podIPs to the Pod's details view

New task bar with a terminal and logs open side by side:

New task bar with a terminal and logs open side by side

Overview function for the new taskbar:

Overview function for the new taskbar

🐞 Bug fixes

  • Do not use eval for the advanced search
  • Fix spawning job from CronJob
  • Display missing port for default backend
  • Fix checking if the exec'ing into a pod can be done. Thanks to @cavus700 .
  • Use allowed namespaces when getting the Overview's events
  • Fix key-related react warnings. Thanks to @farodin91 .
  • Fix bar chart colors in dark mode
  • Fix chart tooltips in Node list view
  • Move headlampConfig to a pkg in the backend. Thanks to @upsaurav12 .
  • Fix the kind field when creating a CR. Thanks to @ChayanDass .

💻 Development

  • Update story for AlerNotification. Thanks to @ANIRUDH-SJ .
  • Add story for StatefulSet. Thanks to @SinghaAnirban005
  • Add tests to UI slice (redux). Thanks to @DhairyaMajmudar .
  • Make the ServiceDetails more realistic. Thanks to @farodin91 .
  • Fix misc stories/tests issues
  • Add missing shx development dependency
  • Replace rimraf use by shx
  • Add air config, for auto reload of the backend modules. Thanks to @ChayanDass .
  • Make backend exit with a proper code if the port is in use

📖 Documentation

  • Revamp plugin development documentation

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.33.0
Desktop Apps:

🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)

headlamp-helm-0.32.1

04 Jul 10:00
bc04be0

Choose a tag to compare

Headlamp is an easy-to-use and extensible Kubernetes web UI.

0.32.0

26 Jun 13:18

Choose a tag to compare

✨ Enhancements:

  • Add new advanced search feature (allows searching Kubernetes resources using queries in Js, more languages coming soon)
  • Display Custom Resources in the map (thanks to @faebr, @alexandernorth, @VictorMarcolino)
  • Allow to delete clusters that are coming from local kubeconfigs

New Advanced Search (access it under the cluster tab):
Screenshot showing new advanced search

🐞 Bug fixes

  • Reset logs' state on item change
  • Fix OIDC token refresh logic
  • Remove unneeded URL change when closing a details pane

💻 Development

  • Added releaser tool to help manage and automate the release process
  • Add support for plugins to register a custom map node glance (thanks to @userAdityaa)
  • Update sample ingress URL to use kubernetes-sigs/headlamp (thanks @dorser)
  • Update sample ingress to use ingressClassName instead of deprecated annotation (thanks @dorser)
  • Add more tsdocs to misc functions
  • Add Github pull request template (thanks to @SinghaAnirban005 )
  • Refactor plugin-management into a package (pluginctl) (thanks to @Faakhir30 )
  • Add ReferenceGrant resource and tests (thanks to @userAdityaa )
  • Disable tracing by default in backend's telemetry instrumentation (thanks to @DhairyaMajmudar )
  • Add the possibility for the map's nodes to have weights (thanks to @adwait-godbole )
  • Replace ConfirmDialog's switch with a check box and improve the buttons' labels
  • Add more options to the Dockerfile to make it more flexible when needed to use e.g. push
  • Add cloudbuild.yml for future integration with Kubernetes image publishing infrastructure
  • Misc dependency updates

🌍 Internationalization

📖 Documentation

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.32.0
Desktop Apps:

IMPORTANT: The Windows and Mac applications are not currently being signed. As a result, the OS may warn about them. Learn more about this and how to still run the apps at: https://headlamp.dev/docs/latest/installation/desktop/

🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)