Port Mosquitto and ntfy to ringtail k3s, retire Apple Silicon Detector #216

Merged
eblume merged 4 commits from feature/port-mqtt-ntfy-ringtail into main 2026-02-19 11:22:44 -08:00
Owner

Summary

  • Delete ansible/roles/frigate_detector/ and remove from indri playbook — the Apple Silicon Detector is retired
  • Move Mosquitto (MQTT) ArgoCD app from indri minikube to ringtail k3s
  • Move ntfy ArgoCD app from indri minikube to ringtail k3s
  • Update Frigate docs to reflect detector removal and planned RTX 4080 migration
  • Manifests are reused as-is (same argocd/manifests/mosquitto/ and argocd/manifests/ntfy/), just pointed at ringtail

Deployment

After merge:

  1. Sync indri ArgoCD apps app with prune to remove old mosquitto/ntfy apps:
    argocd app sync apps --prune
    
  2. Sync new ringtail apps:
    argocd app sync mosquitto-ringtail
    argocd app sync ntfy-ringtail
    
  3. Manually clean up the detector LaunchAgent on indri:
    ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist'
    ssh indri 'rm ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist'
    

Notes

  • Frigate on indri will lose MQTT/ntfy connectivity — this is expected (user confirmed no downtime concerns)
  • ntfy Tailscale Ingress hostname ntfy will transfer from indri ProxyGroup to ringtail ProxyGroup
  • Caddy on indri proxies ntfy.ops.eblu.mentfy.tail8d86e.ts.net, so no Caddy changes needed
  • Frigate + frigate-notify will be ported to ringtail in a follow-up PR

🤖 Generated with Claude Code

## Summary - Delete `ansible/roles/frigate_detector/` and remove from indri playbook — the Apple Silicon Detector is retired - Move Mosquitto (MQTT) ArgoCD app from indri minikube to ringtail k3s - Move ntfy ArgoCD app from indri minikube to ringtail k3s - Update Frigate docs to reflect detector removal and planned RTX 4080 migration - Manifests are reused as-is (same `argocd/manifests/mosquitto/` and `argocd/manifests/ntfy/`), just pointed at ringtail ## Deployment After merge: 1. Sync indri ArgoCD `apps` app with prune to remove old mosquitto/ntfy apps: ``` argocd app sync apps --prune ``` 2. Sync new ringtail apps: ``` argocd app sync mosquitto-ringtail argocd app sync ntfy-ringtail ``` 3. Manually clean up the detector LaunchAgent on indri: ``` ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist' ssh indri 'rm ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist' ``` ## Notes - Frigate on indri will lose MQTT/ntfy connectivity — this is expected (user confirmed no downtime concerns) - ntfy Tailscale Ingress hostname `ntfy` will transfer from indri ProxyGroup to ringtail ProxyGroup - Caddy on indri proxies `ntfy.ops.eblu.me` → `ntfy.tail8d86e.ts.net`, so no Caddy changes needed - Frigate + frigate-notify will be ported to ringtail in a follow-up PR 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Move MQTT broker and push notification services from indri minikube to
ringtail k3s cluster. Delete the frigate_detector ansible role — detection
will use ringtail's RTX 4080 when Frigate is ported.

Manual cleanup needed on indri:
  ssh indri 'launchctl unload ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist'
  ssh indri 'rm ~/Library/LaunchAgents/mcquack.eblume.frigate-detector.plist'

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add nix container build for ntfy
All checks were successful
Build Container / build (push) Successful in 8s
Build Container (Nix) / build (push) Successful in 14s
2d7a353751
Uses nixpkgs ntfy-sh package instead of the multi-stage Dockerfile build.
After merge, release with: mise run container-tag-and-release ntfy v1.1.0
Then update argocd/manifests/ntfy/deployment.yaml image to the -nix tag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume merged commit 16a4a9a616 into main 2026-02-19 11:22:44 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!216
No description provided.