feat: native Headlamp integration, TrueNAS API, docs, and CI for v0.2.0

Native Headlamp integrations:
- registerResourceTableColumnsProcessor: add Protocol/Pool/Server columns to
  native StorageClass table and Protocol/Volume Handle to PV table
- registerDetailsViewSection: inject TNS-CSI section into PV detail pages
- registerDetailsViewSection: inject driver role/status into tns-csi Pod pages
- registerDetailsViewHeaderAction: Benchmark shortcut on StorageClass detail
- registerAppBarAction: driver health badge (N/Nc M/Mn, color-coded)
- Trim sidebar from 6 → 4 entries (Overview, Snapshots, Metrics, Benchmark)

TrueNAS API integration:
- src/api/truenas.ts: ConfigStore-backed settings, WebSocket JSON-RPC client
  for pool.query (auth.login_with_api_key + pool.query)
- src/components/TnsCsiSettings.tsx: API key + server override settings UI
  with connection test button
- TnsCsiDataContext: fetch real pool stats (size/allocated/free/status)
- OverviewPage: three-tier pool capacity display (real data → error → metrics
  fallback)

Documentation:
- README, CHANGELOG, CONTRIBUTING, SECURITY
- docs/: architecture, deployment (Helm), getting-started, user-guide,
  troubleshooting

CI:
- .github/workflows/ci.yaml: lint + type-check + test on PR/push
- .github/workflows/release.yaml: workflow_dispatch versioned release

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>
This commit is contained in:
2026-02-18 16:37:56 -05:00
parent f2f3c3a87e
commit f1feb5c2f7
30 changed files with 3540 additions and 44 deletions
+9 -5
View File
@@ -1,12 +1,16 @@
version: "0.1.0"
name: headlamp-tns-csi-plugin
displayName: TNS CSI Plugin
displayName: TrueNAS CSI (tns-csi)
description: >-
Headlamp plugin for tns-csi CSI driver visibility and kbench benchmarking.
Surfaces StorageClasses, PersistentVolumes, VolumeSnapshots, Prometheus
metrics, and an interactive kbench storage benchmark runner.
Headlamp plugin for tns-csi CSI driver visibility and kbench storage
benchmarking. Surfaces StorageClasses with protocol/pool/server details,
PersistentVolumes, VolumeSnapshots, Prometheus metrics from the controller
pod, and an interactive kbench benchmark runner with FIO result cards.
Supports NFS, NVMe-oF, and iSCSI protocols. Read-only except for the
Benchmark page.
createdAt: "2026-02-18T00:00:00Z"
license: Apache-2.0
category: storage
homeURL: https://github.com/privilegedescalation/headlamp-tns-csi-plugin
appVersion: "0.1.0"
@@ -27,7 +31,7 @@ keywords:
maintainers:
- name: privilegedescalation
email: privilegedescalation@users.noreply.github.com
email: chris@farhood.org
provider:
name: privilegedescalation