Alpha Preview·Documentation in progress
Keyboard Shortcuts
Navigation
JNext heading
KPrevious heading
GGScroll to top
ShiftGScroll to bottom
NNext page
PPrevious page
Page
?Open keyboard shortcuts
EscClose modal
Skip to content

pvc-explorer-agent

A lightweight HTTP file-browser agent that mounts a PersistentVolumeClaim and exposes its contents over a simple REST API.

The agent is the container image that the pvc-explorer operator deploys as ephemeral pods. It has an embedded Vue UI for standalone browser-based use and an API that the operator proxies through to the web dashboard.

By default the agent has no authentication and is only reachable through the controller proxy, which enforces Basic Auth and role checks. Never expose the agent port directly.

Relationship to the Operator

pvc-explorer
Operator
creates & manages
pvc-explorer-agent
Agent pod
mounts & serves
PVC
Kubernetes storage

The operator is responsible for:

  • Creating agent pods from the agent container image
  • Configuring them with the target PVC name and mount path
  • Proxying API requests from the web UI to the agent
  • Scaling agents to zero when idle

The agent itself has no awareness of the operator — it simply mounts a PVC and serves an HTTP API.

Features

  • HTTP file browser endpoints for listing, downloading, editing, and uploading files
  • Read-only fallback — watches the Kubernetes API for other pods using the same PVC; if a conflict is detected, write endpoints are disabled
  • Embedded Vue UI for standalone browser-based use
  • /healthz probe for readiness checks
  • Optional Bearer token auth via AUTH_TOKEN environment variable

Container Images

OCI images are published at ghcr.io/pvc-explorer-operator/pvc-explorer-agent:

TagDescription
<version>Specific release (e.g. v0.1.0)
devMutable development image from main
latestLatest stable release

Images are multi-arch (linux/amd64, linux/arm64), cosign-signed with BuildKit provenance and SBOM artifacts.

Quick Start

Run the agent locally with a demo dataset:

shell
make run-agent ROOT=./testdata/demo PVC=demo-pvc

The repository includes a small demo dataset in ./testdata/demo for local UI and API testing.

Repository

Apache 2.0 licensed. Built with the Kubebuilder framework.