Chris Farhood 14f4b4d17d fix(e2e): add waitForSidebar helper and networkidle waits for reliability
Add waitForSidebar helper function with explicit sidebar visibility wait
and networkidle state to ensure page is fully loaded before assertions.
This addresses flaky E2E tests where elements were not consistently
found due to timing issues during page transitions.
2026-05-05 06:50:21 +00:00
2026-04-15 04:00:53 +00:00
2026-03-24 21:29:29 +00:00
2026-03-04 00:23:08 +00:00

headlamp-kube-vip-plugin

CI License

A Headlamp plugin providing visibility into kube-vip virtual IP and load balancer deployments.

Features

  • Overview Dashboard — Deployment status, VIP mode (ARP/BGP), leader election, cluster summary
  • Services — LoadBalancer services with VIP assignments, kube-vip annotations, egress status
  • Nodes — Cluster nodes with kube-vip pod status, leader designation, VIP labels
  • Configuration — DaemonSet config, IP address pools, leader election leases
  • Service Detail Integration — kube-vip details injected into native Headlamp Service detail views

Installation

Search for kube-vip in the Headlamp Plugin Manager (Settings → Plugins → Catalog).

Requirements

  • Headlamp >= v0.26
  • kube-vip deployed in kube-system (DaemonSet or static pod)
  • Optional: kube-vip-cloud-provider for IP pool management

RBAC

This plugin is read-only and requires the following permissions:

Resource API Group Verbs
services v1 list, get, watch
nodes v1 list, get, watch
pods v1 list, get, watch
daemonsets apps/v1 get
leases coordination.k8s.io list, get, watch
configmaps v1 get

Architecture

src/
├── index.tsx                    # Plugin entry point
├── api/
│   ├── k8s.ts                   # Types and helper functions
│   └── KubeVipDataContext.tsx   # React context provider
└── components/
    ├── OverviewPage.tsx          # Dashboard
    ├── ServicesPage.tsx          # LoadBalancer services
    ├── NodesPage.tsx             # Cluster nodes
    ├── ConfigPage.tsx            # Configuration & IP pools
    └── ServiceDetailSection.tsx  # Injected into Service detail view

Development

npm install
npm start          # dev server
npm test           # run tests
npm run tsc        # type check
npm run lint       # ESLint

Troubleshooting

Symptom Cause Fix
"kube-vip Not Detected" No kube-vip pods in kube-system Install kube-vip per https://kube-vip.io/docs/installation/
No IP pools shown kubevip ConfigMap not found Install kube-vip-cloud-provider
Services show "Pending" VIP No IP pool configured or pool exhausted Add IP ranges to kubevip ConfigMap
Leader shows "—" No kube-vip leases found Verify leader election is enabled (vip_leaderelection=true)

Contributing

See CONTRIBUTING.md for development guidelines.

License

Apache License 2.0. See LICENSE for details.

S
Description
Headlamp plugin for kube-vip virtual IP and load balancer visibility
Readme 1.3 MiB
v1.0.2 Latest
2026-04-15 04:00:40 +00:00
Languages
TypeScript 100%