Promote uat to main #75

Merged
privilegedescalation-cto[bot] merged 2 commits from uat into main 2026-05-15 22:55:28 +00:00
4 changed files with 12 additions and 9 deletions
+2 -2
View File
@@ -8,7 +8,7 @@ Headlamp plugin for kube-vip virtual IP and load balancer visibility. Read-only
- **Plugin name**: `kube-vip` - **Plugin name**: `kube-vip`
- **Target**: Headlamp >= v0.26 - **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` - **Reference plugin**: `../headlamp-polaris-plugin`
## Commands ## Commands
@@ -58,7 +58,7 @@ kube-vip uses **no CRDs**. All state comes from standard Kubernetes resources an
## Key constants (src/api/k8s.ts) ## Key constants (src/api/k8s.ts)
- Namespace: `kube-system` - Namespace: `headlamp`
- DaemonSet name: `kube-vip-ds` - DaemonSet name: `kube-vip-ds`
- Cloud provider name: `kube-vip-cloud-provider` - Cloud provider name: `kube-vip-cloud-provider`
- ConfigMap name: `kubevip` - ConfigMap name: `kubevip`
+2 -2
View File
@@ -20,7 +20,7 @@ Search for `kube-vip` in the Headlamp Plugin Manager (Settings → Plugins → C
## Requirements ## Requirements
- Headlamp >= v0.26 - 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 - Optional: kube-vip-cloud-provider for IP pool management
## RBAC ## RBAC
@@ -66,7 +66,7 @@ npm run lint # ESLint
| Symptom | Cause | Fix | | 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 | | 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 | | 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`) | | Leader shows "—" | No kube-vip leases found | Verify leader election is enabled (`vip_leaderelection=true`) |
+4 -4
View File
@@ -12,10 +12,10 @@ This plugin is **read-only**. It does not perform any write operations against t
- Services (type: LoadBalancer) - Services (type: LoadBalancer)
- Nodes - Nodes
- Pods in `kube-system` - Pods in `headlamp`
- DaemonSets in `kube-system` - DaemonSets in `headlamp`
- Leases in `kube-system` - Leases in `headlamp`
- ConfigMaps in `kube-system` - ConfigMaps in `headlamp`
All data is fetched through Headlamp's built-in API proxy, which respects the user's existing RBAC permissions. All data is fetched through Headlamp's built-in API proxy, which respects the user's existing RBAC permissions.
+4 -1
View File
@@ -21,6 +21,7 @@ import {
isEgressEnabled, isEgressEnabled,
isKubeVipService, isKubeVipService,
isPodReady, isPodReady,
KUBE_VIP_NAMESPACE,
phaseToStatus, phaseToStatus,
} from '../api/k8s'; } from '../api/k8s';
import { useKubeVipContext } from '../api/KubeVipDataContext'; import { useKubeVipContext } from '../api/KubeVipDataContext';
@@ -105,7 +106,9 @@ export default function OverviewPage() {
{ {
name: 'Status', name: 'Status',
value: ( value: (
<StatusLabel status="error">No kube-vip pods found in kube-system</StatusLabel> <StatusLabel status="error">
No kube-vip pods found in {KUBE_VIP_NAMESPACE}
</StatusLabel>
), ),
}, },
{ {