privilegedescalation-engineer[bot] 1c5e50ce8c docs(security): document GHSA-848j-6mx2-7j84 elliptic as accepted risk (#59)
* Add E2E test infrastructure for kube-vip plugin

Scaffolded via e2e-scaffold.sh (proactive improvement).
- playwright.config.ts, e2e/auth.setup.ts, e2e/kube-vip.spec.ts
- scripts/deploy-e2e-headlamp.sh, scripts/teardown-e2e-headlamp.sh
- .github/workflows/e2e.yaml uses reusable workflow
- @playwright/test ^1.58.2 devDep

- PRI-641

Co-Authored-By: Paperclip <noreply@paperclip.ing>

* Fix E2E workflow: use pnpm-capable reusable workflow branch

The reusable plugin-e2e.yaml@main lacks pnpm support. Switching to
the PR branch that has pnpm detector, Corepack setup, and pnpm commands.

Will revert to @main once PR #141 merges.

- PRI-619 E2E fix

Co-Authored-By: Paperclip <noreply@paperclip.ing>

* docs(security): document GHSA-848j-6mx2-7j84 elliptic as accepted risk

* fix(e2e): reference @main workflow after .github merge

Co-Authored-By: Paperclip <noreply@paperclip.ing>

---------

Co-authored-by: Chris Farhood <chris@farhood.org>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-05-06 00:44:27 +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%