Documentation · Alpha

PTKublet Docs

Native Tauri desktop app for day-to-day Kubernetes operations: live watches, YAML, logs, exec, and backups.

Overview

PTKublet is a Tauri 2 desktop app with a Rust sidecar and React UI. Dashboards, YAML editing, logs, exec, port-forward, and WebSocket watches live in one native workspace (macOS).

Authentication is kubeconfig + cluster context — no separate login screen.

Screenshots

Canonical capture names in the PTKublet repo are PNG files in docs/screenshots/: dashboard.png, resource-map.png, deployments.png, desktop-settings.png, dmg-installer.png.

Site docs use a curated gallery export in public/images/projects/kube-app/.

Shot File Shows
Hero dashboard.png Cluster health / node cards
Resource Map resource-map.png Kubernetes resource topology map
Deployments deployments.png Deployments + YAML editor
Pods pods.png Pods list and actions
Nodes nodes.png Nodes with resource bars
KOS Nodes nodes-pertisk-kos.jpg Nodes running Pertisk KOS OS
Cluster cluster.png Cluster-wide kubelet metrics

Quick start

git clone https://github.com/pertisktech/pertisk-kube-app.git
cd pertisk-kube-app

# Prerequisites: Rust 1.70+, Node 18+, a Kubernetes cluster
make run-desktop
# or: make run

On startup, pick a kubeconfig and context (persisted; switch later from the top bar).

macOS DMG

make build-desktop      # .app bundle
make build-macos-dmg    # PTKublet_*.dmg (embeds backend sidecar)

If you see Backend configuration error, set the backend binary path under Config → Desktop Settings (or PERTISK_BACKEND_BIN).

Core workflows

  • Watch — single WebSocket (/ws) for live add/update/delete on workloads, nodes, config, network, storage, RBAC, CRDs
  • Inspect — pod logs (REST), exec terminal (/api/exec), port-forward from the UI
  • Edit — YAML get/put with validation; scale and rollout restart for Deployments
  • Nodes — cordon, uncordon, drain; capacity and metrics
  • Backup — S3-compatible destination, schedules, inventory, restore

Permissions

PTKublet uses your kubeconfig credentials and cluster RBAC. Denied API calls surface as UI errors — the app does not escalate privileges.

Full documentation

Feature matrix, WebSocket coverage, and sidecar search order: