2026-06-07 11:01:18 +02:00
2026-06-07 10:52:17 +02:00
2026-06-07 10:52:17 +02:00
2026-06-07 10:52:17 +02:00
2026-06-07 10:52:17 +02:00
2026-06-07 10:52:17 +02:00
2026-06-07 10:52:17 +02:00

K8s Pilot

All-in-one Kubernetes management tool for your homelab cluster.

Features: Live logs · Auto-update · Crash history · Health monitoring · Manual restarts · Node status · WebSocket live updates


Deploy

1. Build & push to Gitea Container Registry

# On your Mac (or directly on Pi5 via SSH)
docker buildx build \
  --platform linux/arm64 \
  -t git.it-microevo.com/<your-user>/k8s-pilot:latest \
  --push .

2. Update the image in k8s/deployment.yaml

image: git.it-microevo.com/<your-user>/k8s-pilot:latest

3. Apply manifests

kubectl apply -f k8s/rbac.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml

4. Add to Nginx Proxy Manager

Point pilot.it-microevo.comk8s-pilot.k8s-pilot.svc.cluster.local:80

Then add the Cloudflare Tunnel rule as usual.


Local dev (on Mac with kubeconfig)

npm install
npm run dev
# open http://localhost:3000

Auto-Update notes

Force Update button triggers a rolling restart and pulls a new image if imagePullPolicy: Always is set (default in the deployment manifest).

For Docker Hub images, Check Update queries the registry API for the latest digest. For GHCR / Gitea registry images, use Force Update directly.


RBAC scope

The service account has cluster-wide read access to pods, events, nodes, and namespaces, plus patch/update on deployments, and delete on pods. It cannot access secrets or config maps.

S
Description
No description provided
Readme 99 KiB
Languages
HTML 75.7%
JavaScript 24%
Dockerfile 0.3%