Fix services-check and update docs for Frigate migration to ringtail (#218)
## Summary - Move mosquitto, ntfy, frigate, frigate-notify pod checks from `minikube-indri` to `k3s-ringtail` context in `services-check` - Add `nvidia-device-plugin` pod check for ringtail k3s - Rename "Kubernetes pods" section to "Indri minikube pods" for clarity - Update 8 documentation files to reflect the migration completed in PRs #216/#217 ## Files Changed | File | Change | |------|--------| | `mise-tasks/services-check` | Move 4 pod checks to k3s-ringtail, add nvidia-device-plugin | | `docs/reference/services/frigate.md` | Image→tensorrt, detector→ONNX/CUDA, shm→512Mi | | `docs/reference/infrastructure/ringtail.md` | List actual k3s workloads | | `docs/reference/infrastructure/indri.md` | Note frigate migration | | `docs/explanation/architecture.md` | Add ringtail to diagram + compute layer | | `docs/reference/kubernetes/cluster.md` | Note two clusters, add k3s section | | `docs/reference/reference.md` | Update frigate/ntfy location | | `docs/how-to/plans/completed/operationalize-reolink-camera.md` | Add post-completion migration note | | `CLAUDE.md` | Add k3s-ringtail context guidance | ## Test plan - [ ] `mise run services-check` — all checks pass - [ ] Review each doc for accuracy against deployed state 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/218
This commit is contained in:
parent
d5d32fe91f
commit
291fff345c
10 changed files with 62 additions and 29 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Indri
|
||||
modified: 2026-02-09
|
||||
modified: 2026-02-19
|
||||
tags:
|
||||
- infrastructure
|
||||
- host
|
||||
|
|
@ -32,7 +32,7 @@ Primary BlumeOps server. Mac Mini M1 (2020).
|
|||
- [[caddy]] - Reverse proxy for `*.ops.eblu.me`
|
||||
|
||||
**Kubernetes (via minikube):**
|
||||
- [[apps|All k8s applications]]
|
||||
- [[apps|Most k8s applications]] (Frigate, Mosquitto, ntfy migrated to [[ringtail]] k3s)
|
||||
|
||||
**GUI Applications (manual start required):**
|
||||
- Docker Desktop - Container runtime for minikube
|
||||
|
|
|
|||
|
|
@ -63,7 +63,13 @@ Sync order: `1password-connect-ringtail` -> `external-secrets-crds-ringtail` ->
|
|||
|
||||
### Workloads
|
||||
|
||||
No k8s workloads currently deployed. K3s is available for future workloads (e.g. Frigate, running nix-built containers).
|
||||
| Workload | Namespace | Notes |
|
||||
|----------|-----------|-------|
|
||||
| [[frigate]] | `frigate` | NVR with GPU-accelerated detection (RTX 4080) |
|
||||
| [[frigate]]-notify | `frigate` | MQTT-to-ntfy alert bridge |
|
||||
| Mosquitto | `mqtt` | MQTT broker for Frigate events |
|
||||
| [[ntfy]] | `ntfy` | Push notification server |
|
||||
| nvidia-device-plugin | `nvidia-device-plugin` | Exposes GPU to pods via CDI + nvidia RuntimeClass |
|
||||
|
||||
### Manual Cluster Registration
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
---
|
||||
title: Cluster
|
||||
modified: 2026-02-07
|
||||
modified: 2026-02-19
|
||||
tags:
|
||||
- kubernetes
|
||||
---
|
||||
|
||||
# Kubernetes Cluster
|
||||
|
||||
Single-node Minikube cluster running on [[indri]].
|
||||
BlumeOps runs two Kubernetes clusters: a Minikube cluster on [[indri]] (most services) and a k3s cluster on [[ringtail]] (GPU workloads, MQTT, notifications). Both are managed by [[argocd]] on indri.
|
||||
|
||||
## Cluster Specifications
|
||||
|
||||
|
|
@ -33,6 +33,16 @@ Containerd uses [[zot]] as a pull-through cache at `host.minikube.internal:5050`
|
|||
|
||||
Mirrors configured: `registry.ops.eblu.me`, `docker.io`, `ghcr.io`, `quay.io`
|
||||
|
||||
## K3s on Ringtail
|
||||
|
||||
Single-node k3s cluster for workloads requiring amd64 or GPU access. See [[ringtail]] for cluster specs, workload list, and secrets management.
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| **Context** | `k3s-ringtail` |
|
||||
| **API Server** | `https://ringtail.tail8d86e.ts.net:6443` |
|
||||
| **Workloads** | Frigate (GPU), Mosquitto, ntfy, frigate-notify, nvidia-device-plugin |
|
||||
|
||||
## Related
|
||||
|
||||
- [[apps|Apps]] - ArgoCD applications
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Reference
|
||||
modified: 2026-02-17
|
||||
modified: 2026-02-19
|
||||
tags:
|
||||
- reference
|
||||
---
|
||||
|
|
@ -21,7 +21,7 @@ Individual service reference cards with URLs and configuration details.
|
|||
| [[caddy]] | Reverse proxy & TLS termination | indri |
|
||||
| [[1password]] | Secrets management | cloud + k8s |
|
||||
| [[forgejo]] | Git forge & CI/CD | indri |
|
||||
| [[frigate]] | Network video recorder | k8s |
|
||||
| [[frigate]] | Network video recorder | k8s (ringtail) |
|
||||
| [[grafana]] | Dashboards & visualization | k8s |
|
||||
| [[immich]] | Photo management | k8s |
|
||||
| [[jellyfin]] | Media server | indri |
|
||||
|
|
@ -29,7 +29,7 @@ Individual service reference cards with URLs and configuration details.
|
|||
| [[loki]] | Log aggregation | k8s |
|
||||
| [[miniflux]] | RSS feed reader | k8s |
|
||||
| [[navidrome]] | Music streaming | k8s |
|
||||
| [[ntfy]] | Push notifications | k8s |
|
||||
| [[ntfy]] | Push notifications | k8s (ringtail) |
|
||||
| [[postgresql]] | Database cluster | k8s |
|
||||
| [[prometheus]] | Metrics collection | k8s |
|
||||
| [[teslamate]] | Tesla data logger | k8s |
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Frigate
|
||||
modified: 2026-02-17
|
||||
modified: 2026-02-19
|
||||
tags:
|
||||
- service
|
||||
- surveillance
|
||||
|
|
@ -17,7 +17,7 @@ Open-source network video recorder (NVR) with object detection. Runs cloud-free
|
|||
| **URL** | https://nvr.ops.eblu.me |
|
||||
| **Tailscale URL** | https://nvr.tail8d86e.ts.net |
|
||||
| **Namespace** | `frigate` |
|
||||
| **Image** | `ghcr.io/blakeblackshear/frigate:0.17.0-rc2-standard-arm64` |
|
||||
| **Image** | `ghcr.io/blakeblackshear/frigate:0.17.0-rc2-tensorrt` |
|
||||
| **Upstream** | https://github.com/blakeblackshear/frigate |
|
||||
| **Manifests** | `argocd/manifests/frigate/` |
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ ReoLink Camera (GableCam)
|
|||
Frigate pod (ringtail k3s)
|
||||
├── go2rtc — RTSP restream proxy
|
||||
├── FFmpeg — stream decoding
|
||||
├── detector — GPU-accelerated (RTX 4080, pending migration)
|
||||
├── detector — ONNX with CUDA (RTX 4080)
|
||||
├── /media/frigate — NFS recordings (sifaka)
|
||||
└── /db — SQLite (local PVC)
|
||||
│
|
||||
|
|
@ -47,7 +47,7 @@ Camera credentials are stored in 1Password and synced via [[external-secrets]] t
|
|||
|
||||
## Detection
|
||||
|
||||
Object detection will use GPU-accelerated inference on [[ringtail]]'s RTX 4080 (migration pending). The previous Apple Silicon Detector on [[indri]] has been retired.
|
||||
Object detection runs on [[ringtail]]'s RTX 4080 via the ONNX detector with CUDA execution provider. The model is YOLO-NAS-S (`yolo_nas_s.onnx`). The previous Apple Silicon Detector on [[indri]] has been retired.
|
||||
|
||||
Two zones are configured: `driveway_entrance` (triggers review alerts for person/car) and `driveway` (triggers review detections).
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ Two zones are configured: `driveway_entrance` (triggers review alerts for person
|
|||
|-------|---------|------|
|
||||
| `/media/frigate` | NFS PV on [[sifaka]] (`/volume1/frigate`) | 2 Ti |
|
||||
| `/db` | Local PVC (`frigate-database`) | SQLite |
|
||||
| `/dev/shm` | Memory-backed `emptyDir` | 256 Mi |
|
||||
| `/dev/shm` | Memory-backed `emptyDir` | 512 Mi |
|
||||
|
||||
## Alerting (frigate-notify)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue