### Install and Start Plugin Example Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/customizing-map/README.md Navigate to the plugin directory, install dependencies, and start the development server. ```bash cd plugins/examples/customizing-map npm install npm start ``` -------------------------------- ### Install and Run Example Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/change-logo/README.md Navigate to the example plugin directory, install dependencies, and start the development server to see the logo changes. ```bash cd plugins/examples/change-logo npm install npm start # See the logo in the top left corner of Headlamp has changed. ``` -------------------------------- ### Start Custom UI Panels Example Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/ui-panels/README.md Navigate to the example plugin directory and start the development server to see the custom UI panels in action. ```bash cd plugins/examples/ui-panels npm start ``` -------------------------------- ### Install and Start Custom Theme Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/custom-theme/README.md Navigate to the plugin directory, install dependencies, and start the development server. ```bash cd plugins/examples/custom-theme npm install npm start ``` -------------------------------- ### Install and Run Sidebar Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/sidebar/README.md Navigate to the example plugin directory, install dependencies, and start the plugin to observe changes in the Headlamp sidebar. ```bash cd plugins/examples/sidebar npm install npm start # See the sidebar on the left of Headlamp has changed. ``` -------------------------------- ### Install and Run Dynamic Clusters Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/dynamic-clusters/README.md Follow these steps to clone the repository, navigate to the example plugin directory, install dependencies, and start the plugin using Node.js. ```bash git clone git@github.com:kinvolk/headlamp.git cd headlamp/plugins/examples/dynamic-clusters/ npm install npm start ``` -------------------------------- ### Install and Run Example Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/cluster-chooser/README.md Follow these steps to clone the repository, install dependencies, and run the example plugin to see the modified cluster chooser button. ```bash git clone git@github.com:kinvolk/headlamp.git cd headlamp/plugins/examples/cluster-chooser/ npm install npm start # See the changed cluster chooser button in the top middle of Headlamp ``` -------------------------------- ### Run Headlamp Events Example Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/headlamp-events/README.md Instructions to install and start the example plugin. Navigate to a list or details view to trigger events. ```bash cd plugins/examples/change-logo npm install npm start # Go to a list or details view to see one example of a Headlamp event. ``` -------------------------------- ### Run Projects Customization Example Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/projects/README.md Navigate to the example directory and start the development server to see the project customizations in action. ```bash cd plugins/examples/projects npm start ``` -------------------------------- ### Install and Run Details View Plugin Example Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/details-view/README.md Follow these steps to install dependencies and run the example plugin locally. Access the modified view at the provided URL. ```bash cd plugins/examples/details-view npm install npm start # See bottom of view, and action bar for changes. # http://localhost:3000/c/minikube/configmaps/kube-system/coredns ``` -------------------------------- ### Install and Run Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/resource-charts/README.md Commands to install dependencies and start the plugin locally. ```bash cd plugins/examples/resource-charts npm install npm start ``` -------------------------------- ### Quick Kubernetes Cluster Setup Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/running-from-source/index.md Starts a local minikube cluster and verifies its status using kubectl. ```bash # Start a local cluster minikube start # Verify it's running kubectl get nodes ``` -------------------------------- ### Install and Run Tables Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/tables/README.md Follow these steps to install dependencies and start the plugin. Navigate to the pod list view to observe the added context menu. ```bash cd plugins/examples/tables npm install npm start # Go to the pod list view and see how the table now has a context menu for each row. ``` -------------------------------- ### Install and Run App Menu Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/app-menus/README.md Follow these steps to install dependencies and start the example plugin locally. This will allow you to see the custom menu within the Headlamp app. ```bash cd plugins/examples/app-menus npm install npm start # See the menu in the app. ``` -------------------------------- ### Install and Start Headlamp Development Source: https://github.com/kubernetes-sigs/headlamp/blob/main/app/README.md Installs project dependencies and starts the Headlamp development server, including backend and frontend development servers. ```bash npm install npm start ``` -------------------------------- ### Complete Example: Config Setup Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/adding-plugin-settings/index.md Define the configuration interface, default values, and initialize the ConfigStore. The `getConfig` function merges defaults with stored values. ```typescript import { ConfigStore } from '@kinvolk/headlamp-plugin/lib'; export interface HelloHeadlampConfig { showImageDetails: boolean; } export const DEFAULT_CONFIG: HelloHeadlampConfig = { showImageDetails: true, }; export const store = new ConfigStore('hello-headlamp'); export function getConfig(): HelloHeadlampConfig { return { ...DEFAULT_CONFIG, ...store.get() }; } ``` -------------------------------- ### Run Example Pod Counter Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/README.md Follow these steps to install and run the example pod-counter plugin, which displays the number of Pods in the Headlamp title bar. ```bash cd plugins/examples/pod-counter npm install npm start ``` -------------------------------- ### Install All Dependencies Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/running-from-source/index.md Use this command to install all necessary dependencies for the project. ```bash npm run install:all ``` -------------------------------- ### Install kubelogin using Homebrew Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/oidc.md Install the `kubelogin` tool, which is used for testing Kubernetes authentication with OIDC. This example uses Homebrew. ```bash # Here's how to do it with Homebrew as an example: brew install int128/kubelogin/kubelogin ``` -------------------------------- ### Build and Start Headlamp Backend Source: https://github.com/kubernetes-sigs/headlamp/blob/main/backend/README.md Run these commands to build the backend and then start the development server. ```bash npm run backend:build npm run backend:start ``` -------------------------------- ### Install and Run Pod Counter Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/plugins/examples/pod-counter/README.md Instructions to install dependencies and start the pod counter plugin. This will display the pod count in the Headlamp app bar. ```bash cd plugins/examples/pod-counter npm install npm start # See the app bar at the top of Headlamp has changed to show the number of Pods. ``` -------------------------------- ### Basic Headlamp Helm Chart Installation Source: https://github.com/kubernetes-sigs/headlamp/blob/main/charts/headlamp/README.md Install the Headlamp Helm chart with default settings. This is the simplest way to get Headlamp running. ```bash helm install my-headlamp headlamp/headlamp --namespace kube-system ``` -------------------------------- ### Install Root Dependencies Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Run this command to install the main project dependencies before building. ```bash npm install ``` -------------------------------- ### Start Headlamp Application Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Starts the Headlamp application after all dependencies are installed and built. ```bash npm start ``` -------------------------------- ### Quick Reference: `artifacthub-pkg.yml` Example Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/releasing-and-publishing/index.md Example configuration for a plugin package, including version, metadata, and Headlamp-specific annotations for Artifact Hub. ```yaml version: 1.0.0 name: hello-headlamp displayName: Hello Headlamp createdAt: "2025-01-20T00:00:00Z" description: My Headlamp plugin description. logoURL: https://raw.githubusercontent.com/YOUR_USERNAME/hello-headlamp/main/logo.png annotations: headlamp/plugin/archive-url: "https://github.com/YOUR_USERNAME/hello-headlamp/releases/download/v1.0.0/hello-headlamp-1.0.0.tar.gz" headlamp/plugin/archive-checksum: "SHA256:" headlamp/plugin/version-compat: ">=0.22" headlamp/plugin/distro-compat: "in-cluster,web,docker-desktop,desktop" ``` -------------------------------- ### Install Frontend Dependencies Source: https://github.com/kubernetes-sigs/headlamp/blob/main/AGENTS.md Installs frontend dependencies. This command should be run before other frontend development tasks. ```bash npm run frontend:install ``` -------------------------------- ### Install Git Source: https://github.com/kubernetes-sigs/headlamp/blob/main/e2e-tests/README.md Install the Git version control system on your VM. This is needed to clone the Headlamp repository. ```bash sudo apt install git ``` -------------------------------- ### Install All Project Dependencies Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/running-from-source/index.md Install root, frontend, and optionally app dependencies using npm scripts. Go dependencies are handled during the build step. ```bash # Install root dependencies npm install # Install frontend dependencies npm run frontend:install # Install app dependencies (only needed if running desktop app) npm run app:install ``` ```bash npm run install:all ``` -------------------------------- ### Start Headlamp Desktop App (Client Only) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/app.md For development with live-reload, this command starts the client. Requires the backend to be running separately. ```bash npm run app:start:client ``` -------------------------------- ### Start Dex Server Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/in-cluster/dex/index.md Command to start the Dex server with the specified configuration file. Ensure the configuration file path is correct. ```shell dex serve dex-config.yaml ``` -------------------------------- ### Start Minikube with VFKit Driver Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Starts Minikube using the VFKit driver, another option for Apple Silicon Macs. ```bash minikube start --driver=vfkit ``` -------------------------------- ### Package App for Windows (MSI Installer) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/index.md Builds the Headlamp application for the Windows platform, producing an MSI installer. Requires WiX Toolset to be installed and in the PATH. ```bash npm run app:package:win:msi ``` -------------------------------- ### Install Dependencies for Testing Source: https://github.com/kubernetes-sigs/headlamp/blob/main/tools/i18n/README.md Before running tests from the tools/i18n directory, ensure all project dependencies are installed using this command. ```bash npm install # Install dependencies first ``` -------------------------------- ### Start Minikube with Docker Driver Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Starts Minikube using the Docker driver, suitable for Apple Silicon Macs. ```bash minikube start --driver=docker ``` -------------------------------- ### Start New Release Source: https://github.com/kubernetes-sigs/headlamp/blob/main/tools/releaser/README.md Updates the version in app/package.json, runs npm install, and commits changes. Optionally, it can stay on the current branch instead of creating a new release branch. ```bash releaser start [options] ``` ```bash releaser start 0.42.0 # Bump version on the current branch releaser start 0.42.0 --no-branch ``` -------------------------------- ### Add Headlamp Helm Repository and Install Chart Source: https://github.com/kubernetes-sigs/headlamp/blob/main/charts/headlamp/README.md Add the Headlamp Helm repository, update it, and install the chart. This is a common starting point for deploying Headlamp. ```bash helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/ helm repo update helm install my-headlamp headlamp/headlamp --namespace kube-system ``` -------------------------------- ### Install Frontend Dependencies Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Installs dependencies for the frontend of Headlamp. Navigate to the frontend directory first. ```bash cd frontend npm install cd .. ``` -------------------------------- ### Start Plugin Development Server Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/creating-your-first-plugin/index.md Navigate to your plugin's directory and run this command to start the plugin in development mode with hot reloading. ```bash cd ~/projects/hello-headlamp npm start ``` -------------------------------- ### Install Headlamp Docker Extension Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docker-extension/README.md Install the built Headlamp Docker extension. After installation, it should appear in Docker Desktop. ```bash docker extension install headlamp ``` -------------------------------- ### Install Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/api/classes/plugin_registry.PluginManager.md Initiates the installation of a plugin from a given ArtifactHub URL. Requires the plugin's unique identifier, its name, and the URL to download from. ```typescript PluginManager.install('pluginID', ' https://artifacthub.io/packages/headlamp//'); ``` -------------------------------- ### Start Headlamp Development Server Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/creating-your-first-plugin/index.md Run this command in your Headlamp repository to start the main application in development mode. ```bash cd ~/git/headlamp npm start ``` -------------------------------- ### Verify Tool Installations Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/running-from-source/index.md Check if Node.js, npm, Go, and Git are installed and meet the minimum version requirements. ```bash # Check versions node --version # Should be v20.11.1 or higher npm --version # Should be 10.0.0 or higher go version # Should be go1.24 or higher git --version # Any recent version ``` -------------------------------- ### Start Minikube with OIDC Configuration Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/in-cluster/dex/index.md Command to start Minikube with OIDC integration enabled. Replace placeholders for Dex URL and Client ID. ```shell minikube start -p=dex \ --extra-config=apiserver.authorization-mode=Node,RBAC \ --extra-config=apiserver.oidc-issuer-url=https:// \ --extra-config=apiserver.oidc-username-claim=email \ --extra-config=apiserver.oidc-client-id= ``` -------------------------------- ### Build and Start Headlamp Frontend Source: https://github.com/kubernetes-sigs/headlamp/blob/main/app/e2e-tests/README.md Commands to build and start the Headlamp frontend service. These are prerequisites for running web mode E2E tests. ```bash cd headlamp npm run frontend:build npm run frontend:start ``` -------------------------------- ### Build and Start Headlamp Backend Source: https://github.com/kubernetes-sigs/headlamp/blob/main/app/e2e-tests/README.md Commands to build and start the Headlamp backend service. These are prerequisites for running web mode E2E tests. ```bash cd headlamp npm run backend:build npm run backend:start ``` -------------------------------- ### Install Docker on Ubuntu Source: https://github.com/kubernetes-sigs/headlamp/blob/main/e2e-tests/README.md Install the Docker engine on your Ubuntu VM. This is a prerequisite for building and running containerized applications. ```bash sudo apt install docker.io ``` -------------------------------- ### Manual Plugin Installation in Headlamp Desktop Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/plugins/building.md Steps to manually install a plugin in Headlamp Desktop by extracting the plugin archive to the user's configuration directory. ```bash cd my-plugin/ npm install npm run build npm run package ``` ```bash mkdir -p ~/.config/Headlamp/plugins/ tar xvf my-first-plugin-0.1.0.tar.gz -C ~/.config/Headlamp/plugins/ ``` -------------------------------- ### Build Headlamp Desktop App (No Installers) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/app.md Faster build for development purposes, this command builds the app without creating installers. ```bash npm run app:build:dir ``` -------------------------------- ### Start Minikube for Gateway Testing Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/gateway.md Start a new Minikube cluster with a dedicated profile for testing Gateway API configurations. This ensures a clean environment for development. ```bash minikube start --profile=gateway-checkup ``` -------------------------------- ### Start Everything (Backend, Frontend, App) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/index.md Runs the backend, frontend, and the packaged application in parallel for development. ```bash npm run start:app ``` -------------------------------- ### Complete Plugin Example with Cluster and Home Views Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/adding-pages-and-sidebar-navigation/index.md This comprehensive example demonstrates registering both cluster-specific pages and home-view pages, along with their respective sidebar entries. It illustrates how to manage navigation for different contexts within the Headlamp UI. ```tsx import { registerRoute, registerSidebarEntry } from '@kinvolk/headlamp-plugin/lib'; import { SectionBox } from '@kinvolk/headlamp-plugin/lib/CommonComponents'; import { Typography, Link } from '@mui/material'; // ========== Cluster View Pages ========== function OverviewPage() { return ( Welcome to My Plugin! This page is cluster-specific. ); } function SettingsPage() { return ( Configure your plugin settings here. ); } // ========== Home View Pages ========== function DocsPage() { return ( This page is accessible without selecting a cluster. ← Back to Clusters ); } // ========== Cluster View Routes & Sidebar ========== registerRoute({ path: '/my-plugin', sidebar: 'my-plugin-overview', component: OverviewPage, exact: true, }); registerRoute({ path: '/my-plugin/settings', sidebar: 'my-plugin-settings', component: SettingsPage, exact: true, }); registerSidebarEntry({ name: 'my-plugin', label: 'My Plugin', icon: 'mdi:new-box', url: '/my-plugin', }); registerSidebarEntry({ parent: 'my-plugin', name: 'my-plugin-overview', label: 'Overview', url: '/my-plugin', }); registerSidebarEntry({ parent: 'my-plugin', name: 'my-plugin-settings', label: 'Settings', url: '/my-plugin/settings', }); // ========== Home View Routes & Sidebar ========== registerRoute({ path: '/plugin-docs', component: DocsPage, useClusterURL: false, noAuthRequired: true, sidebar: { item: 'plugin-docs', sidebar: 'HOME', }, }); registerSidebarEntry({ name: 'plugin-docs', label: 'Plugin Docs', url: '/plugin-docs', icon: 'mdi:book-open-variant', sidebar: 'HOME', useClusterURL: false, }); ``` -------------------------------- ### Build Frontend Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/frontend.md Use this command to build the frontend for production. ```bash npm run frontend:build ``` -------------------------------- ### Install ESLint Config Source: https://github.com/kubernetes-sigs/headlamp/blob/main/eslint-config/README.md Install the configuration package using npm. Ensure peer dependencies are also installed. ```bash npm install --save-dev @headlamp-k8s/eslint-config ``` -------------------------------- ### Install Headlamp via Homebrew Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/desktop/mac-installation.md Use this command to install the latest Headlamp release if you have Homebrew installed. Ensure Homebrew is set up before running. ```bash brew install --cask headlamp ``` -------------------------------- ### Install Headlamp via Chocolatey Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/desktop/win-installation.md Install Headlamp using the Chocolatey package manager. Ensure Chocolatey is installed first by following its official instructions. ```powershell choco install headlamp ``` -------------------------------- ### Install Headlamp with Flatpak Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/desktop/linux-installation.md Use this command to install Headlamp if you have Flatpak set up. ```bash flatpak install io.kinvolk.Headlamp ``` -------------------------------- ### Install Headlamp with Helm Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/in-cluster/azure-entra-id/index.md Use Helm to add the Headlamp repository and install Headlamp with your custom OIDC configuration from values.yaml. This command installs Headlamp into the 'headlamp' namespace, creating it if it doesn't exist. ```shell helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/ helm install headlamp-oidc headlamp/headlamp -f values.yaml --namespace=headlamp --create-namespace ``` -------------------------------- ### Install Playwright Browsers Source: https://github.com/kubernetes-sigs/headlamp/blob/main/e2e-tests/README.md Installs the necessary browser binaries for Playwright to run tests. ```bash npx playwright install ``` -------------------------------- ### Install and Build Headlamp Releaser Source: https://github.com/kubernetes-sigs/headlamp/blob/main/tools/releaser/README.md Steps to install and build the Headlamp Releaser tool locally. ```bash cd tools/releaser npm install npm run build ``` -------------------------------- ### Prepare and Run VM Creation Script Source: https://github.com/kubernetes-sigs/headlamp/blob/main/e2e-tests/README.md Downloads, modifies, and executes a script to create an Azure VM. Replace 'VM_NAME' and 'RESOURCE_GROUP' with your specific values before running. ```bash curl -sSfL https://headlamp.dev/blog/2024/04/user-added-cluster-support-in-shared-headlamp-deployments/create-azurevm.sh | bash ``` -------------------------------- ### Deploy Headlamp with InitContainer for Plugins Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/plugins/building.md Example Kubernetes Deployment YAML demonstrating how to use an init container to fetch and mount plugins into the Headlamp container. ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: headlamp-with-flux labels: app: headlamp-with-flux spec: selector: matchLabels: app: headlamp-with-flux template: metadata: labels: app: headlamp-with-flux spec: initContainers: - name: fetch-plugins image: ghcr.io/headlamp-k8s/headlamp-plugin-flux:latest # Copy the plugins command: ["/bin/sh", "-c"] args: ["cp -r /plugins/* /headlamp/plugins/ && ls -l /headlamp/plugins"] volumeMounts: - name: plugins mountPath: /headlamp/plugins containers: - name: headlamp image: ghcr.io/headlamp-k8s/headlamp:latest args: ["-plugins-dir=/headlamp/plugins"] ports: - containerPort: 4466 volumeMounts: - name: plugins mountPath: /headlamp/plugins volumes: - name: plugins emptyDir: {} ``` -------------------------------- ### Run Backend Build, Lint, Test, and Format Source: https://github.com/kubernetes-sigs/headlamp/blob/main/AGENTS.md Build, lint, test, and format the backend code. This comprehensive set of commands ensures the backend code is functional, correct, and well-formatted. ```bash npm run backend:build ``` ```bash npm run backend:lint ``` ```bash npm run backend:test ``` ```bash npm run backend:format ``` -------------------------------- ### Clean Rebuild and Install Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/running-from-source/index.md Performs a clean installation and build of Headlamp, useful for resolving complex issues. ```bash npm run clean npm run install:all npm run build ``` -------------------------------- ### Quick Reference: Pre-release Commands Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/tutorials/plugin-development/getting-started/releasing-and-publishing/index.md Common commands for code formatting, linting, type-checking, and running tests. ```bash npm run format # auto-format with Prettier npm run lint # check for code issues with ESLint npm run lint-fix # auto-fix what ESLint can npm run tsc # type-check with TypeScript (no output on success) npm run test # run Jest unit tests ``` -------------------------------- ### Run Frontend in Development Mode Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/frontend.md Launches a development server with auto-refresh. Leverages create-react-app's start script. ```bash npm run frontend:start ``` -------------------------------- ### Install Additional Ubuntu WSL Packages Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/index.md Installs further packages required for Headlamp, including dependencies for end-to-end tests. ```bash sudo apt-get install firefox libgstreamer-plugins-bad1.0-0 libegl1 libnotify4 libopengl0 libwoff1 libharfbuzz-icu0 libgstreamer-gl1.0-0 libwebpdemux2 libenchant1c2a libsecret-1-0 libhyphen0 libevdev2 libgles2 gstreamer1.0-libav ``` -------------------------------- ### Install Headlamp with Custom Values (Helm) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/in-cluster/index.md Installs Headlamp using Helm, applying custom configurations from a 'values.yaml' file. ```bash helm install my-headlamp headlamp/headlamp --namespace kube-system -f values.yaml ``` -------------------------------- ### Package App for Windows (NSIS Installer) Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/index.md Builds the Headlamp application for the Windows platform, producing an NSIS installer by default. ```bash npm run app:package:win ``` -------------------------------- ### Run Headlamp Server Source: https://github.com/kubernetes-sigs/headlamp/blob/main/backstage-test/README.md Execute the built binary with the necessary parameters to start the Headlamp server. Ensure the base URL and dynamic cluster enablement are configured. ```bash ./backend/headlamp-server --base-url="/api/headlamp" --enable-dynamic-clusters ``` -------------------------------- ### Build and Package a Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/plugins/building.md Use these npm commands to build and package your plugin for distribution. Ensure you have installed dependencies first. ```bash npm install npm run build npm run package ``` -------------------------------- ### Install Node Modules for Load Tests Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/testing.md Navigate to the load-tests directory and install necessary npm packages before running scripts. ```bash cd load-tests npm install ``` -------------------------------- ### Apply Gateway API Manifests Sequentially Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/development/gateway.md Apply Gateway API manifests one by one in the recommended order for proper setup. Ensure prerequisites like GatewayClass are applied before dependent resources. ```bash kubectl apply -f frontend/src/components/gateway/manifests/gatewayclass.yaml kubectl apply -f frontend/src/components/gateway/manifests/gateway.yaml kubectl apply -f frontend/src/components/gateway/manifests/referencegrant.yaml kubectl apply -f frontend/src/components/gateway/manifests/httproute.yaml kubectl apply -f frontend/src/components/gateway/manifests/grpcroute.yaml kubectl apply -f frontend/src/components/gateway/manifests/backendtls.yaml kubectl apply -f frontend/src/components/gateway/manifests/backendtraffic.yaml ``` -------------------------------- ### Example Resource Configuration Source: https://github.com/kubernetes-sigs/headlamp/blob/main/charts/headlamp/README.md Define resource requests and limits for Headlamp pods. This is crucial for managing resource allocation and preventing performance issues. ```yaml resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi ``` -------------------------------- ### Install oidc-login Plugin Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/in-cluster/dex/index.md Command to install the 'oidc-login' kubectl plugin using krew. This plugin is required for OIDC user authentication. ```shell kubectl krew install oidc-login ``` -------------------------------- ### Install Headlamp via Winget Source: https://github.com/kubernetes-sigs/headlamp/blob/main/docs/installation/desktop/win-installation.md Use this command to install Headlamp from the Winget package registry. This is a straightforward method for Windows users. ```powershell winget install headlamp ``` -------------------------------- ### Build Headlamp Backend Source: https://github.com/kubernetes-sigs/headlamp/blob/main/CONTRIBUTING.md Builds the backend component of Headlamp. Requires Go to be installed. ```bash npm run backend:build ```