github headlamp-k8s/headlamp v0.26.0
0.26.0

latest release: headlamp-helm-0.26.0
8 hours ago

✨ Enhancements:

  • Add brand new Map view of a cluster (beta)
    • Allows users to view a graph representation of the cluster, at the desired zoom level
    • Errors are indicated in the map view which allows for a quick identification of resources needing attention
    • Users can select different resources for a more detailed and relational view
    • Allows searching and filtering cluster resources by different criteria
    • Allows to open resource details in the same view, without having to navigate to a new page
  • Make the app snappier by adding a new caching layer for requests as
    this avoids requesting the same data multiple times
  • Allow doing common actions (edit, view, remove) directly in resource list's rows to avoid
    having to go into the details view to perform them (thanks to @farodin91 )
  • Unify general, cluster, and plugin settings under the same section, preventing the confusion of having
    different and separate settings views
  • Move Custom Resources sidebar item to the top level, to highlight this section
  • Update Headlamp logo to the new one
  • Helm: Add change ClusterRole option + docs (thanks to @SegFault02 )
  • Helm: Support deploying additional manifests inline (thanks to @guydomb )
  • Use translated labels for workload charts' titles (also improves readability even in English)
  • Add a way to copy the error when the app shows the error (Uh-Oh) view
  • Add CLI option to list plugins
  • Big improvements to the YAML editor and the terminal thanks to the Monaco and xterm teams
  • Prevent the entire app from getting to the error state if the error is in the main view. This means the user may still
    be able to navigate to a different view without having to go to the home view
  • Add Custom Resources instances view (thanks to @Guilamb ). This allows to look for CR instances in the user's
    allowed namespaces, whereas before the user had to go through each CR Definition and required access to their
    namespaces

New Map view:

Watch the video demo on Youtube.

Screenshot new map view

New Map view with details open:

Screenshot new map with details view

Context actions for resource lists:

Screenshot for context actions for resource lists

🧩 Shipped plugins

  • Update shipped plugin app-catalog 0.3.1 (desktop only)
    • The YAML in the install dialog is updated to reflect the Helm chart version, displaying the latest
      version by default and showing the version number in the dialog for clarity
    • The install dialog now sets default values, including the namespace to "default," the version to
      the latest available, and the description to "[app name] deployment
  • Update shipped plugin plugin-catalog 0.1.1 (desktop only)
    • Prompt user to reload the app after installing/uninstalling a plugin (so the settings show up).
      This makes sure the plugin is activated/deactivated
  • Update shipped plugin prometheus 0.2.2
    • Add settings for configuring Prometheus, allowing the users to configure the service address,
      timespan, and to enable/disable metrics for each cluster (under Settings > Plugins > prometheus)

🐞 Bug fixes

  • Fix issues rendering the release notes in dark theme
  • Prevent refreshing the app when it's just finished loading
  • Fix cluster chooser popup header visibility
  • Show the actual issues that happen when loading clusters from KubeConfig
  • Fix problem in port forwarding when there's no token
  • Fix a11y issues with the notification popups
  • Fix broken cluster settings URL from the cluster auth dialog
  • Fix typo in values.yaml comment (thanks to @JoniJnm )
  • Fix crashing in Job status label when encountering an unknown label
  • Fix resource status label alignment
  • Fix Headlamp event type when restarting a resource
  • Fix duplicate notifications for cluster actions
  • Fix issue in cluster login flashing the "auth unsuccessful" state by mistake
  • Update home view on an interval
  • Allow to apply resources when user's role can only update, not create (thanks to @jda258 )

💻 Development

  • Add missing MUI date pickers (need for material-react-table)
  • Export getAllowedNamespaces function (so plugins can use it)
  • Add more backend test coverage
  • Refactor API related modules so now they are versioned
  • Refactor KubeObject to allow more extensive type coverage of the Kubernetes data layer
  • Improve how KubeObject classes can be declared (assigning an API endpoint directly is no
    longer needed)
  • Use react-query for backend requests, which adds caching and centralizes calls
  • Add unit tests for frontend API
  • Allow routes to render their main component in full width
  • Automatically set the cluster param to the ResourceLink component
  • Add easy generation of frontend and backend test coverage reports to help develop with a higher quality
    • Through new backend-coverage and backend-coverage-html make targets
  • Use Ubuntu 22 on CI
  • Refactor istokenAboutToExpire to improve clarity and maintainability (thanks to @guipguia )
  • Remove axe-react for a11y testing in favor of using the Playwright a11y testing facilities
  • Add GitHub issue templates for easier filing of bugs and enhancement requests
  • Drop certain 3rd party dependencies to improve security
  • Improve security of the build environment
  • Misc dependency updates

📖 Documentation

  • Add new and more comprehensive contributors guide
  • Improve a11y of docs including readability
  • Fix broken link in plugin development docs (thanks to @kingdonb )
  • Fix broken links after API changes (thanks to @BelovedAugustine )
  • Add ADOPTERS file (if your company uses or builds on top of Headlamp, please add yourselves!)

Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.26.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)

Don't miss a new headlamp release

NewReleases is sending notifications on new releases.