Files
dev 566c122044
Build & Push / build (push) Failing after 45s
initial
2026-06-07 10:52:17 +02:00

65 lines
1.5 KiB
Markdown

# 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/<your-user>/k8s-pilot:latest \
--push .
```
### 2. Update the image in `k8s/deployment.yaml`
```yaml
image: git.it-microevo.com/<your-user>/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.