@@ -0,0 +1,64 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user