Skip to content

Podger is a lightweight graphical debugger for Kubernetes, fully faithful to kubectl. It runs as a single binary and provides a modern web interface to visualize clusters, nodes, pods, and containers, seeking a fast, visual way to debug Kubernetes clusters.

License

Notifications You must be signed in to change notification settings

MetalCloud1/Podger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podger

Podger Logo

Go Version Node Version Binary Size Coverage

What is Podger? Rocket icon

Podger is a lightweight graphical debugger for Kubernetes, fully faithful to kubectl.
It runs as a single binary and exposes a modern web interface directly in your browser.

Goal Target icon

Podger focuses exclusively on orchestrating, visualizing, and improving the user experience when working with Kubernetes clusters.
It does not reimplement Kubernetes, and delegates access and security to kubectl, avoiding authentication complexity or new vulnerabilities.

Features Tools icon

  • Integrated console faithful to kubectl.
  • Tree view of clusters → nodes → pods → containers.
  • Resource usage per node and cluster.
  • Context and user information.
  • Action history and pod output panel.
  • Non-blocking multi-port exposure panel for pods.
  • Basic buttons: get yaml, delete, exec shell.
  • Customizable buttons for extended workflows.
  • Typical interactive console.

Installation & Usage Settings icon

Podger requires no configuration. Simply run:

./podger

Then open http://localhost:8080 in your browser.

Optional Environment Variables

  • PODGER_ADDR → controls backend port (default: 8080).
  • VITE_API_BASE → proxy host resolution when needed.
  • VITE_WS_BASE → special cases for WebSocket base.

Example:

PODGER_ADDR=9090 ./podger

Build & Testing Testing icon

You can build and test Podger either with raw commands or using the provided Makefile.

Option 1: Raw Commands

cd web
npm run build
cd ..
rm -rf internal/server/web-static
cd web
mv dist ../internal/server/web-static
cd ..
go build -o podger -ldflags="-s -w" ./cmd/app

go test ./internal/...
cd web; npm test

# Golden tests

npx vitest run src/App/App.golden.test.tsx --no-cache
npx vitest run src/components/DebugScreen/Debug/DebugView.golden.test.tsx --no-cache
npx vitest run src/components/MainScreen/ClusterMap/tsx/ClusterMap.golden.test.tsx --no-cache

# Regenerate goldens

UPDATE_GOLDEN=1 npx vitest run

Option 2: Makefile

# Build binary
make build-<architecture>

# Run tests
make test

# Run golden tests
make golden

# Regenerate goldens
make regen-golden

# Clean artifacts
make clean

Architecture Architecture icon

  • Backend: 100% Go.
  • Frontend: React Vite.
  • Served together as a single HTTP app embedded in the binary.

Audience Audience icon

Podger is designed for DevOps engineers, SREs, and developers who already use kubectl and want a fast, visual way to debug and inspect their clusters.

Screenshots Screenshots icon

Podger Screenshot Placeholder 1

Podger Screenshot Placeholder 2

About

Podger is a lightweight graphical debugger for Kubernetes, fully faithful to kubectl. It runs as a single binary and provides a modern web interface to visualize clusters, nodes, pods, and containers, seeking a fast, visual way to debug Kubernetes clusters.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors