- Remove PROMPT.md (AI scaffolding artifact) - Add .claude/settings* to .gitignore - Commit .mcp.json (MCP server config) - Fix ArtifactHub URLs (headlamp/tns-csi path) - Fix tarball name (tns-csi-VERSION.tar.gz) in all install docs - Update version URLs from v0.1.0/v0.2.0 to v0.2.4 - Update test count from 67 to 159 across 12 files - Update Node.js version from 20 to 22 - Add CHANGELOG entry for v0.2.4 - Update testing.md with full test file inventory and CI description Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.4 KiB
Installation Guide
Installation Methods
Method 1: Headlamp Plugin Manager (Recommended)
The plugin is published on Artifact Hub.
Via Headlamp UI:
- Navigate to Settings → Plugins → Catalog
- Search for "TNS CSI" or "TrueNAS"
- Click Install
- Refresh the page
Via Helm values:
config:
pluginsDir: /headlamp/plugins
pluginsManager:
sources:
- name: tns-csi
url: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v0.2.4/tns-csi-0.2.4.tar.gz
Via FluxCD HelmRelease:
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: headlamp
namespace: kube-system
spec:
chart:
spec:
chart: headlamp
sourceRef:
kind: HelmRepository
name: headlamp
values:
config:
pluginsDir: /headlamp/plugins
pluginsManager:
sources:
- name: tns-csi
url: https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v0.2.4/tns-csi-0.2.4.tar.gz
Method 2: Manual Tarball Install
Download and extract the plugin directly:
# Download the release tarball
wget https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v0.2.4/tns-csi-0.2.4.tar.gz
# Verify the checksum
echo "14a3e8c13d0b894a41aa1cfccbcb1f6af09dcbb8fd95c7040a540987ea2096a7 tns-csi-0.2.4.tar.gz" | sha256sum --check
# Extract into your Headlamp plugins directory
tar xzf tns-csi-0.2.4.tar.gz -C /headlamp/plugins/
The plugin directory should appear as /headlamp/plugins/tns-csi/.
Restart Headlamp (or the pod) after extracting.
Method 3: Sidecar Container
For Headlamp deployments where you prefer managing plugins as container init sidecars:
initContainers:
- name: install-tns-csi-plugin
image: alpine:3
command:
- sh
- -c
- |
wget -O /tmp/plugin.tar.gz \
https://github.com/privilegedescalation/headlamp-tns-csi-plugin/releases/download/v0.2.4/tns-csi-0.2.4.tar.gz
tar xzf /tmp/plugin.tar.gz -C /headlamp/plugins/
volumeMounts:
- name: plugins
mountPath: /headlamp/plugins
Method 4: Build from Source
For development or to test unreleased changes:
git clone https://github.com/privilegedescalation/headlamp-tns-csi-plugin.git
cd headlamp-tns-csi-plugin
npm install
npm run build
npm run package
# Produces tns-csi-0.2.4.tar.gz
# Extract to your Headlamp plugins directory
tar xzf tns-csi-0.2.4.tar.gz -C /headlamp/plugins/
Or use headlamp-plugin extract for automatic placement:
npx @kinvolk/headlamp-plugin extract . /headlamp/plugins
Post-Installation
After installing the plugin:
- Configure RBAC — see RBAC Permissions
- Verify the plugin loads — refresh browser and look for "TrueNAS (tns-csi)" in the sidebar
- Check the Overview page — driver health card should show tns-csi status
Upgrading
To upgrade to a new version, repeat the installation method you used. The new tarball replaces the old plugin directory.
For Plugin Manager installs, the catalog will show available updates.
Uninstalling
Remove the plugin directory from your Headlamp plugins directory:
rm -rf /headlamp/plugins/tns-csi/
Or via the Headlamp UI: Settings → Plugins → tns-csi → Uninstall.