From 50338ad7c46c89fb872f94a464b27c8d58ae8b85 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 07:49:25 +0000 Subject: [PATCH 1/7] docs: redirect install namespace references from kube-system to headlamp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update documentation to reference the Headlamp plugin namespace (headlamp) instead of kube-system where kube-vip itself is deployed. Files changed (all docs only): - README.md: requirements, troubleshooting table - CLAUDE.md: data sources, key constants namespace - SECURITY.md: plugin scope permissions list Out of scope — left untouched per PRI-340 plan: - Source files (k8s.ts, KubeVipDataContext.tsx, OverviewPage.tsx) - Test helpers (test-helpers.tsx) — kube-system is the watched workload namespace - ADR 003 — describes kube-vip static pod fallback behavior, not install namespace Co-Authored-By: Paperclip --- CLAUDE.md | 4 ++-- README.md | 4 ++-- SECURITY.md | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index ac071c2..d8ec835 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ Headlamp plugin for kube-vip virtual IP and load balancer visibility. Read-only - **Plugin name**: `kube-vip` - **Target**: Headlamp >= v0.26 -- **Data sources**: kube-vip DaemonSet/pods in `kube-system`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap +- **Data sources**: kube-vip DaemonSet/pods in `headlamp`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap - **Reference plugin**: `../headlamp-polaris-plugin` ## Commands @@ -58,7 +58,7 @@ kube-vip uses **no CRDs**. All state comes from standard Kubernetes resources an ## Key constants (src/api/k8s.ts) -- Namespace: `kube-system` +- Namespace: `headlamp` - DaemonSet name: `kube-vip-ds` - Cloud provider name: `kube-vip-cloud-provider` - ConfigMap name: `kubevip` diff --git a/README.md b/README.md index aa04c51..a4c2dc3 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Search for `kube-vip` in the Headlamp Plugin Manager (Settings → Plugins → C ## Requirements - Headlamp >= v0.26 -- kube-vip deployed in `kube-system` (DaemonSet or static pod) +- kube-vip deployed in `headlamp` (DaemonSet or static pod) - Optional: kube-vip-cloud-provider for IP pool management ## RBAC @@ -66,7 +66,7 @@ npm run lint # ESLint | Symptom | Cause | Fix | |---------|-------|-----| -| "kube-vip Not Detected" | No kube-vip pods in kube-system | Install kube-vip per https://kube-vip.io/docs/installation/ | +| "kube-vip Not Detected" | No kube-vip pods in headlamp namespace | 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`) | diff --git a/SECURITY.md b/SECURITY.md index 917f13c..80921d0 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -12,10 +12,10 @@ This plugin is **read-only**. It does not perform any write operations against t - Services (type: LoadBalancer) - Nodes -- Pods in `kube-system` -- DaemonSets in `kube-system` -- Leases in `kube-system` -- ConfigMaps in `kube-system` +- Pods in `headlamp` +- DaemonSets in `headlamp` +- Leases in `headlamp` +- ConfigMaps in `headlamp` All data is fetched through Headlamp's built-in API proxy, which respects the user's existing RBAC permissions. -- 2.52.0 From 1f2287489c71089bc54559536f2e8804304dafc6 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 07:49:25 +0000 Subject: [PATCH 2/7] docs: redirect install namespace references from kube-system to headlamp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update documentation to reference the Headlamp plugin namespace (headlamp) instead of kube-system where kube-vip itself is deployed. Files changed (all docs only): - README.md: requirements, troubleshooting table - CLAUDE.md: data sources, key constants namespace - SECURITY.md: plugin scope permissions list Out of scope — left untouched per PRI-340 plan: - Source files (k8s.ts, KubeVipDataContext.tsx, OverviewPage.tsx) - Test helpers (test-helpers.tsx) — kube-system is the watched workload namespace - ADR 003 — describes kube-vip static pod fallback behavior, not install namespace Co-Authored-By: Paperclip --- CLAUDE.md | 4 ++-- README.md | 4 ++-- SECURITY.md | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index ac071c2..d8ec835 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ Headlamp plugin for kube-vip virtual IP and load balancer visibility. Read-only - **Plugin name**: `kube-vip` - **Target**: Headlamp >= v0.26 -- **Data sources**: kube-vip DaemonSet/pods in `kube-system`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap +- **Data sources**: kube-vip DaemonSet/pods in `headlamp`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap - **Reference plugin**: `../headlamp-polaris-plugin` ## Commands @@ -58,7 +58,7 @@ kube-vip uses **no CRDs**. All state comes from standard Kubernetes resources an ## Key constants (src/api/k8s.ts) -- Namespace: `kube-system` +- Namespace: `headlamp` - DaemonSet name: `kube-vip-ds` - Cloud provider name: `kube-vip-cloud-provider` - ConfigMap name: `kubevip` diff --git a/README.md b/README.md index aa04c51..a4c2dc3 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Search for `kube-vip` in the Headlamp Plugin Manager (Settings → Plugins → C ## Requirements - Headlamp >= v0.26 -- kube-vip deployed in `kube-system` (DaemonSet or static pod) +- kube-vip deployed in `headlamp` (DaemonSet or static pod) - Optional: kube-vip-cloud-provider for IP pool management ## RBAC @@ -66,7 +66,7 @@ npm run lint # ESLint | Symptom | Cause | Fix | |---------|-------|-----| -| "kube-vip Not Detected" | No kube-vip pods in kube-system | Install kube-vip per https://kube-vip.io/docs/installation/ | +| "kube-vip Not Detected" | No kube-vip pods in headlamp namespace | 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`) | diff --git a/SECURITY.md b/SECURITY.md index 917f13c..80921d0 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -12,10 +12,10 @@ This plugin is **read-only**. It does not perform any write operations against t - Services (type: LoadBalancer) - Nodes -- Pods in `kube-system` -- DaemonSets in `kube-system` -- Leases in `kube-system` -- ConfigMaps in `kube-system` +- Pods in `headlamp` +- DaemonSets in `headlamp` +- Leases in `headlamp` +- ConfigMaps in `headlamp` All data is fetched through Headlamp's built-in API proxy, which respects the user's existing RBAC permissions. -- 2.52.0 From c83a8c775b0d290c315fad8cab2f8187ec0e924d Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 16:25:02 +0000 Subject: [PATCH 3/7] chore: retrigger CI Co-Authored-By: Paperclip -- 2.52.0 From 4813f3c314b29e5389298eabc2a08bec108f79f9 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 18:49:46 +0000 Subject: [PATCH 4/7] chore: retrigger CI (post workflow fix) -- 2.52.0 From f4acf34ccc53b4328e7adc05f41d3e59dfc9b8cd Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 18:50:35 +0000 Subject: [PATCH 5/7] chore: retrigger CI after base branch fix -- 2.52.0 From 7ac6e6caa8cb690d0df51835220befdb491691be Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 20:34:29 +0000 Subject: [PATCH 6/7] fix(kube-vip): revert docs namespace to kube-system (PRI-562) Revert CLAUDE.md, README.md, and SECURITY.md namespace references from 'headlamp' back to 'kube-system' to match src/api/k8s.ts KUBE_VIP_NAMESPACE. The source code uses 'kube-system' as the namespace constant; docs must match code to avoid misleading users. Also fixes hardcoded namespace string in OverviewPage.tsx to use KUBE_VIP_NAMESPACE constant instead of literal 'kube-system'. Option A per PRI-562 QA guidance. Co-Authored-By: Paperclip --- CLAUDE.md | 4 ++-- README.md | 4 ++-- SECURITY.md | 8 ++++---- src/components/OverviewPage.tsx | 3 ++- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d8ec835..ac071c2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ Headlamp plugin for kube-vip virtual IP and load balancer visibility. Read-only - **Plugin name**: `kube-vip` - **Target**: Headlamp >= v0.26 -- **Data sources**: kube-vip DaemonSet/pods in `headlamp`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap +- **Data sources**: kube-vip DaemonSet/pods in `kube-system`, Services (type:LoadBalancer), Nodes, Leases, `kubevip` ConfigMap - **Reference plugin**: `../headlamp-polaris-plugin` ## Commands @@ -58,7 +58,7 @@ kube-vip uses **no CRDs**. All state comes from standard Kubernetes resources an ## Key constants (src/api/k8s.ts) -- Namespace: `headlamp` +- Namespace: `kube-system` - DaemonSet name: `kube-vip-ds` - Cloud provider name: `kube-vip-cloud-provider` - ConfigMap name: `kubevip` diff --git a/README.md b/README.md index a4c2dc3..aa04c51 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Search for `kube-vip` in the Headlamp Plugin Manager (Settings → Plugins → C ## Requirements - Headlamp >= v0.26 -- kube-vip deployed in `headlamp` (DaemonSet or static pod) +- kube-vip deployed in `kube-system` (DaemonSet or static pod) - Optional: kube-vip-cloud-provider for IP pool management ## RBAC @@ -66,7 +66,7 @@ npm run lint # ESLint | Symptom | Cause | Fix | |---------|-------|-----| -| "kube-vip Not Detected" | No kube-vip pods in headlamp namespace | Install kube-vip per https://kube-vip.io/docs/installation/ | +| "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`) | diff --git a/SECURITY.md b/SECURITY.md index 80921d0..917f13c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -12,10 +12,10 @@ This plugin is **read-only**. It does not perform any write operations against t - Services (type: LoadBalancer) - Nodes -- Pods in `headlamp` -- DaemonSets in `headlamp` -- Leases in `headlamp` -- ConfigMaps in `headlamp` +- Pods in `kube-system` +- DaemonSets in `kube-system` +- Leases in `kube-system` +- ConfigMaps in `kube-system` All data is fetched through Headlamp's built-in API proxy, which respects the user's existing RBAC permissions. diff --git a/src/components/OverviewPage.tsx b/src/components/OverviewPage.tsx index 43f9e2c..084819b 100644 --- a/src/components/OverviewPage.tsx +++ b/src/components/OverviewPage.tsx @@ -21,6 +21,7 @@ import { isEgressEnabled, isKubeVipService, isPodReady, + KUBE_VIP_NAMESPACE, phaseToStatus, } from '../api/k8s'; import { useKubeVipContext } from '../api/KubeVipDataContext'; @@ -105,7 +106,7 @@ export default function OverviewPage() { { name: 'Status', value: ( - No kube-vip pods found in kube-system + No kube-vip pods found in {KUBE_VIP_NAMESPACE} ), }, { -- 2.52.0 From 68e417da1196abc7354ce0fcc7753c5b53d92ada Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 4 May 2026 20:36:58 +0000 Subject: [PATCH 7/7] style: format OverviewPage.tsx per prettier Co-Authored-By: Paperclip --- src/components/OverviewPage.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/OverviewPage.tsx b/src/components/OverviewPage.tsx index 084819b..7d09967 100644 --- a/src/components/OverviewPage.tsx +++ b/src/components/OverviewPage.tsx @@ -106,7 +106,9 @@ export default function OverviewPage() { { name: 'Status', value: ( - No kube-vip pods found in {KUBE_VIP_NAMESPACE} + + No kube-vip pods found in {KUBE_VIP_NAMESPACE} + ), }, { -- 2.52.0