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>
74 lines
3.1 KiB
Markdown
74 lines
3.1 KiB
Markdown
# TNS-CSI Plugin Documentation
|
|
|
|
Welcome to the Headlamp TNS-CSI Plugin documentation.
|
|
|
|
## Quick Links
|
|
|
|
- **[Quick Start](getting-started/quick-start.md)** — Get up and running in 5 minutes
|
|
- **[Installation Guide](getting-started/installation.md)** — All installation methods
|
|
- **[Troubleshooting](troubleshooting/README.md)** — Common issues and fixes
|
|
|
|
## Documentation Index
|
|
|
|
### Getting Started
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Quick Start](getting-started/quick-start.md) | Fastest path to a working installation |
|
|
| [Installation](getting-started/installation.md) | Plugin Manager, manual tarball, build from source |
|
|
| [Prerequisites](getting-started/prerequisites.md) | Headlamp version, tns-csi driver, RBAC |
|
|
|
|
### User Guide
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Overview Dashboard](user-guide/overview.md) | Driver health, storage summary, protocol distribution |
|
|
| [Storage Classes](user-guide/storage-classes.md) | StorageClass list and detail panel |
|
|
| [Volumes](user-guide/volumes.md) | PersistentVolume list and detail panel |
|
|
| [Snapshots](user-guide/snapshots.md) | VolumeSnapshot list and CRD requirements |
|
|
| [Metrics](user-guide/metrics.md) | Prometheus metrics display |
|
|
| [Benchmark](user-guide/benchmark.md) | kbench interactive storage benchmarking |
|
|
| [PVC Detail Injection](user-guide/pvc-detail.md) | TNS-CSI section in PVC detail views |
|
|
| [RBAC Permissions](user-guide/rbac.md) | Required permissions per feature |
|
|
|
|
### Architecture
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Overview](architecture/overview.md) | System architecture, data flow, component hierarchy |
|
|
| [Data Flow](architecture/data-flow.md) | How data moves from K8s API to the UI |
|
|
| [Design Decisions](architecture/design-decisions.md) | Key architectural choices and rationale |
|
|
|
|
### Deployment
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Helm](deployment/helm.md) | Deploy with Helm (recommended) |
|
|
| [Production Checklist](deployment/production.md) | Security and reliability checklist |
|
|
|
|
### Troubleshooting
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Common Issues](troubleshooting/README.md) | Quick diagnosis table |
|
|
| [RBAC Issues](troubleshooting/rbac.md) | 403 errors, missing permissions |
|
|
| [Driver Detection](troubleshooting/driver.md) | Driver not installed, wrong provisioner |
|
|
| [Metrics Issues](troubleshooting/metrics.md) | Empty metrics page, unreachable controller |
|
|
| [Benchmark Issues](troubleshooting/benchmark.md) | Benchmark fails to start or complete |
|
|
|
|
### Development
|
|
|
|
| Guide | Description |
|
|
| ----- | ----------- |
|
|
| [Development Setup](development/setup.md) | Clone, install, run dev server |
|
|
| [Testing](development/testing.md) | Unit tests, mocking headlamp APIs |
|
|
| [Release Process](development/release.md) | How releases are cut and published |
|
|
|
|
## External Links
|
|
|
|
- **[GitHub Repository](https://github.com/privilegedescalation/headlamp-tns-csi-plugin)**
|
|
- **[Artifact Hub](https://artifacthub.io/packages/headlamp/headlamp-tns-csi-plugin/headlamp-tns-csi-plugin)**
|
|
- **[tns-csi Driver](https://github.com/fenio/tns-csi)**
|
|
- **[kbench](https://github.com/longhorn/kbench)**
|
|
- **[Headlamp](https://headlamp.dev/)**
|