e5d1fcb11c
Full plugin implementation with 6 pages, K8s resource filtering, Prometheus metrics parsing, kbench benchmark runner, and 67 unit tests. ## Pages - Overview: driver health, storage summary, protocol distribution chart, non-Bound PVC alerts - Storage Classes: tns-csi SC table with slide-in detail panel + protocol notes - Volumes: PV table with full CSI attribute detail panel - Snapshots: VolumeSnapshot CRDs with graceful degradation if not installed - Metrics: Prometheus text format parser + WebSocket/Volume/CSI operation cards - Benchmark: kbench Job+PVC lifecycle, FIO log parser, past benchmarks list ## API modules - k8s.ts: typed resource shapes, filtering helpers, formatting utilities - metrics.ts: Prometheus text format parser, tns-csi metric extraction - kbench.ts: Job/PVC manifests, lifecycle management, FIO summary parser - TnsCsiDataContext.tsx: shared React context with memoized filtered resources ## Quality - TypeScript strict mode, zero any, discriminated union for benchmark state - 67 tests passing (vitest + @testing-library/react) - registerDetailsViewSection injects TNS-CSI details on PVC pages - Graceful degradation for missing CSIDriver and VolumeSnapshot CRDs Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
31 lines
986 B
JSON
31 lines
986 B
JSON
{
|
|
"name": "headlamp-tns-csi-plugin",
|
|
"version": "0.1.0",
|
|
"description": "Headlamp plugin for TNS-CSI driver visibility and benchmarking",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/privilegedescalation/headlamp-tns-csi-plugin.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/privilegedescalation/headlamp-tns-csi-plugin/issues"
|
|
},
|
|
"homepage": "https://github.com/privilegedescalation/headlamp-tns-csi-plugin#readme",
|
|
"author": "privilegedescalation",
|
|
"license": "Apache-2.0",
|
|
"scripts": {
|
|
"start": "headlamp-plugin start",
|
|
"build": "headlamp-plugin build",
|
|
"package": "headlamp-plugin package",
|
|
"tsc": "tsc --noEmit",
|
|
"lint": "eslint --ext .ts,.tsx src/",
|
|
"lint:fix": "eslint --ext .ts,.tsx --fix src/",
|
|
"format": "prettier --write src/",
|
|
"format:check": "prettier --check src/",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"devDependencies": {
|
|
"@kinvolk/headlamp-plugin": "^0.13.0"
|
|
}
|
|
}
|