PVC Browse & Mount
Browse PersistentVolumeClaim contents directly (works on every platform), or mount them as local drives (Linux/macOS via FUSE, Windows via WinFsp).
Browse
Right-click → Browse on any PVC, or double-click the PVC row.
A file-browser viewport opens showing the PVC root directory.
Toolbar
| Button | Action |
|---|---|
| Back / Forward | Navigate history |
| Home | Go to / |
| Path breadcrumb | Click any segment to jump |
| Refresh | Re-list the current directory |
| New Folder | Create a directory |
| Upload | Multi-file picker; streams via dd with auto-resume |
| Download | Saves selection; streams via cat with CRC32 verification |
Table columns
| Column | Detail |
|---|---|
| Name | Icon (file/folder/symlink) + name. Double-click to navigate |
| Size | Files only |
| Modified | Relative age, full timestamp on tooltip |
| Mode | Unix permissions, e.g. drwxr-xr-x |
All columns are sortable. .. always appears first in non-root directories.
File operations
Right-click a row (or selection):
- Open Folder — same as double-click.
- Download — streams from pod via
cat, with parallelcksumCRC32 computed remotely and verified locally. Auto-resumes on truncation. Directories download as tar archives. - Upload (here) — toolbar-level.
- Rename — inline edit.
- Delete —
rm -rfwith confirmation. UI updates immediately. - Permissions — chmod modal. Toggle r/w/x for user/group/other, or type an octal value; the two stay in sync.
- Copy Path — copies the absolute path inside the PVC.
Streaming & integrity
- Downloads — chunked streaming
catplus remotecksumCRC32 computed in parallel. If a chunk fails, only that chunk is re-requested (not the whole file). - Uploads — local CRC computed before sending; remote
cksumverifies post-write. On WebSocket stdin limits, uploads auto-resume mid-file.
Progress is shown in the bottom status bar with speed (MB/s) and ETA.
Disk usage
Click the Disk Usage toggle in the toolbar to switch the Browse window to one of two visualizations.
Tree view
- Collapsible directory tree (via
egui_ltreeview). - Each row shows size, file count, folder count, and a usage progress bar (relative to parent).
- Large directories cap at 200 children per level to keep the UI responsive.
- Updates live as the scan proceeds — you can click into a folder while it's still being measured.
Treemap view
- Nested squarified treemap: rectangle area = directory size.
- Click to zoom into a directory.
- Right-click / back gesture to zoom out.
- Tooltip on hover shows path, size, file count.
The scan runs du -b on the pod and streams results. Cancelable via window close.
FUSE Mount (Linux / macOS only)
Mount a PVC as a directory on your machine. Works with any pod that has cat, dd, cksum, and a POSIX shell — no additional cluster setup.
Prerequisites
- Linux —
fuse3runtime installed, user in thefusegroup. See Installation. - macOS — macFUSE installed and allowed in System Settings.
Not available on Windows — use Mount (WinFsp) instead (below).
Mounting
- Right-click a PVC → Mount.
- In the dialog, review:
- Mount path — defaults to
/tmp/kubezilla-pvc-{ns}-{name}. Editable. - Read-only — unchecked by default; toggle if you don't want to risk writes.
- Mount path — defaults to
- Click Mount.
The mount appears in the Active Mounts toolbar row:
[💾 my-pvc /tmp/kubezilla-pvc-default-my-pvc Mounted] [Open] [Copy path] [Unmount]
- Open — opens the mount in your file manager.
- Copy path — clipboard-copies the mount path.
- Unmount — cleanly releases the mount; auto-unmounts on app exit.
How it works
- Reads: streaming
catwith 4MB chunks, CRC-validated via persistent shell, auto-resume on truncation. - Writes: up to 12 parallel
ddworkers, each writing a chunk to a distinct byte offset. Persistent CRC shell verifies writes; up to 3 retries per chunk. statfsis implemented sodfreports sane numbers.- Kubezilla prefers a persistent shell per mount (one-off
execfallback if persistent shell can't be established).
See also: Pod Filesystem Browse & Mount — same tech, different source.
Windows (WinFsp)
Same workflow — Mount button in the PVC context menu or Info window. Behind the scenes, Kubezilla talks to WinFsp (install "Core" component from winfsp.dev).
- A free drive letter is auto-assigned (e.g.
Z:\). - If WinFsp is not installed, the Mount button shows an error with a download link.
PVC Info window
Opening a PVC's Info (right-click → Info) shows extra Overview sections beyond the normal fields:
- Mount status — if currently mounted, shows path with Open Folder / Copy / Unmount.
- Used by Pods — clickable pod names with per-pod Shell and Logs buttons (multi-container picker when needed).
- Helm Release — detected from labels/annotations. Clickable to open the release.
- ArgoCD Application — detected from labels. Clickable.
- Controlled By — owner chain (auto-fetched silently).