f1feb5c2f7
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>
3.1 KiB
3.1 KiB
TNS-CSI Plugin Documentation
Welcome to the Headlamp TNS-CSI Plugin documentation.
Quick Links
- Quick Start — Get up and running in 5 minutes
- Installation Guide — All installation methods
- Troubleshooting — Common issues and fixes
Documentation Index
Getting Started
| Guide | Description |
|---|---|
| Quick Start | Fastest path to a working installation |
| Installation | Plugin Manager, manual tarball, build from source |
| Prerequisites | Headlamp version, tns-csi driver, RBAC |
User Guide
| Guide | Description |
|---|---|
| Overview Dashboard | Driver health, storage summary, protocol distribution |
| Storage Classes | StorageClass list and detail panel |
| Volumes | PersistentVolume list and detail panel |
| Snapshots | VolumeSnapshot list and CRD requirements |
| Metrics | Prometheus metrics display |
| Benchmark | kbench interactive storage benchmarking |
| PVC Detail Injection | TNS-CSI section in PVC detail views |
| RBAC Permissions | Required permissions per feature |
Architecture
| Guide | Description |
|---|---|
| Overview | System architecture, data flow, component hierarchy |
| Data Flow | How data moves from K8s API to the UI |
| Design Decisions | Key architectural choices and rationale |
Deployment
| Guide | Description |
|---|---|
| Helm | Deploy with Helm (recommended) |
| Production Checklist | Security and reliability checklist |
Troubleshooting
| Guide | Description |
|---|---|
| Common Issues | Quick diagnosis table |
| RBAC Issues | 403 errors, missing permissions |
| Driver Detection | Driver not installed, wrong provisioner |
| Metrics Issues | Empty metrics page, unreachable controller |
| Benchmark Issues | Benchmark fails to start or complete |
Development
| Guide | Description |
|---|---|
| Development Setup | Clone, install, run dev server |
| Testing | Unit tests, mocking headlamp APIs |
| Release Process | How releases are cut and published |