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:
Erich Blume 2026-02-19 14:38:21 -08:00
commit 291fff345c
10 changed files with 62 additions and 29 deletions

View file

@ -1,6 +1,6 @@
---
title: Architecture
modified: 2026-02-09
modified: 2026-02-19
last-reviewed: 2026-02-09
tags:
- explanation
@ -15,7 +15,7 @@ How all the BlumeOps pieces fit together.
## Physical Layer
Two always-on devices form the infrastructure backbone:
Three always-on devices form the infrastructure backbone:
```
┌─────────────────┐ ┌─────────────────┐
@ -23,8 +23,13 @@ Two always-on devices form the infrastructure backbone:
│ Mac Mini M1 │────▶│ Synology NAS │
│ (compute) │ │ (storage) │
└─────────────────┘ └─────────────────┘
│ Tailscale
│ ▲
│ Tailscale │ NFS
│ ┌──────┴──────────┐
│ │ Ringtail │
│ │ NixOS PC │
│ │ (GPU compute) │
│ └─────────────────┘
┌─────────────────┐
│ Gilbert │
@ -33,7 +38,8 @@ Two always-on devices form the infrastructure backbone:
└─────────────────┘
```
- **[[indri]]** runs all services (native and containerized)
- **[[indri]]** runs most services (native and containerized)
- **[[ringtail]]** runs GPU workloads (Frigate NVR) and related services (MQTT, ntfy)
- **[[sifaka]]** provides bulk storage and backup targets
- **[[gilbert]]** is the development workstation
@ -61,11 +67,13 @@ See [[routing]] for the full service URL table and port map.
## Compute Layer
Services run in two places on [[indri]]:
Services run across three compute targets:
**Native (Ansible)** — services that need host-level access run directly on macOS, managed via Ansible roles in `ansible/roles/`. See [[indri]] for the full list.
**Native on indri (Ansible)** — services that need host-level access run directly on macOS, managed via Ansible roles in `ansible/roles/`. See [[indri]] for the full list.
**Kubernetes (ArgoCD)** — most services run in minikube, managed via ArgoCD from `argocd/manifests/`. See [[apps]] for the application registry.
**Minikube on indri (ArgoCD)** — most services run in minikube, managed via ArgoCD from `argocd/manifests/`. See [[apps]] for the application registry.
**K3s on ringtail (ArgoCD)** — GPU workloads and related services run on [[ringtail]]'s single-node k3s cluster. Frigate NVR uses the RTX 4080 for object detection; Mosquitto and ntfy support its alerting pipeline.
## Data Flow