# 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 ```bash # On your Mac (or directly on Pi5 via SSH) docker buildx build \ --platform linux/arm64 \ -t git.it-microevo.com//k8s-pilot:latest \ --push . ``` ### 2. Update the image in `k8s/deployment.yaml` ```yaml image: git.it-microevo.com//k8s-pilot:latest ``` ### 3. Apply manifests ```bash 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.com` → `k8s-pilot.k8s-pilot.svc.cluster.local:80` Then add the Cloudflare Tunnel rule as usual. --- ## Local dev (on Mac with kubeconfig) ```bash 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.