blumeops/argocd/apps
Erich Blume 31d925814f Deploy Ollama LLM server on ringtail (#277)
## Summary
- Deploy Ollama as a new ArgoCD-managed service on ringtail's k3s cluster with GPU acceleration
- Declarative model management via `models.txt` + sidecar sync script (mirrors kiwix torrent pattern)
- Initial models: `qwen2.5:14b`, `deepseek-r1:14b`, `phi4:14b`, `gemma3:12b`
- hostPath PV on `/mnt/storage1/ollama` for fast local model storage (200Gi)
- Tailscale ingress at `ollama.ops.eblu.me` for API access from tailnet
- Enable GPU time-slicing (`replicas: 2`) on nvidia-device-plugin so Frigate and Ollama share the RTX 4080

## Deployment and Testing
- [ ] Deploy nvidia-device-plugin changes first: `argocd app sync nvidia-device-plugin`
- [ ] Verify GPU time-slicing: `kubectl describe node ringtail --context=k3s-ringtail` shows `nvidia.com/gpu: 2`
- [ ] Sync `apps` app with `--revision feature/ollama-ringtail`
- [ ] Set ollama app to branch: `argocd app set ollama --revision feature/ollama-ringtail && argocd app sync ollama`
- [ ] Verify model-sync sidecar pulls models: `kubectl logs -n ollama deploy/ollama -c model-sync --context=k3s-ringtail`
- [ ] Test API: `curl https://ollama.ops.eblu.me/api/tags`
- [ ] Test inference: `curl https://ollama.ops.eblu.me/api/generate -d '{"model":"qwen2.5:14b","prompt":"Hello"}'`
- [ ] Verify Frigate still works after GPU sharing change
- [ ] After merge: `argocd app set ollama --revision main && argocd app sync ollama`

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/277
2026-03-02 20:39:51 -08:00
..
1password-connect-ringtail.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
1password-connect.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
alloy-k8s.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
alloy-ringtail.yaml Add multi-cluster observability with ringtail metrics and dashboards (#270) 2026-02-25 22:01:00 -08:00
apps.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
argocd.yaml Upgrade ArgoCD v3.2.6 → v3.3.2 with Server-Side Apply (#272) 2026-02-26 06:51:50 -08:00
authentik.yaml Deploy Authentik identity provider (C2 Mikado) (#227) 2026-02-20 12:55:59 -08:00
blumeops-pg.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
cloudnative-pg.yaml Port CloudNative-PG off Helm to direct release manifest (#268) 2026-02-25 17:37:53 -08:00
cv.yaml Add CV/resume web app at cv.ops.eblu.me (#169) 2026-02-12 11:09:41 -08:00
devpi.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
docs.yaml Phase 1b: Deploy docs hosting with Quartz (#85) 2026-02-03 10:52:20 -08:00
external-secrets-config-ringtail.yaml Add k3s, 1Password Connect, and systemd nix-container-builder to ringtail (#209) 2026-02-18 21:15:30 -08:00
external-secrets-config.yaml Add External Secrets Operator with 1Password Connect (#66) (#66) 2026-01-28 19:30:10 -08:00
external-secrets-crds-ringtail.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
external-secrets-crds.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
external-secrets-ringtail.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
external-secrets.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
forgejo-runner.yaml
frigate.yaml Port Frigate NVR to ringtail k3s with GPU acceleration (#217) 2026-02-19 14:27:04 -08:00
grafana-config.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
grafana.yaml C2: Upgrade Grafana to 12.x with Nix container and Kustomize (#260) 2026-02-23 18:07:18 -08:00
homepage.yaml Replace Homepage Helm chart with kustomize manifests and custom Dockerfile (#221) 2026-02-19 18:29:19 -08:00
immich-storage.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
immich.yaml Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
kiwix.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
kube-state-metrics-ringtail.yaml Add multi-cluster observability with ringtail metrics and dashboards (#270) 2026-02-25 22:01:00 -08:00
kube-state-metrics.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
loki.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
miniflux.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
mqtt.yaml Port Mosquitto and ntfy to ringtail k3s, retire Apple Silicon Detector (#216) 2026-02-19 11:22:44 -08:00
navidrome.yaml Add Navidrome music streaming server (#79) 2026-01-31 20:19:31 -08:00
ntfy.yaml Port Mosquitto and ntfy to ringtail k3s, retire Apple Silicon Detector (#216) 2026-02-19 11:22:44 -08:00
nvidia-device-plugin.yaml Port Frigate NVR to ringtail k3s with GPU acceleration (#217) 2026-02-19 14:27:04 -08:00
ollama.yaml Deploy Ollama LLM server on ringtail (#277) 2026-03-02 20:39:51 -08:00
prometheus.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
tailscale-operator-ringtail.yaml Deploy Tailscale operator on ringtail k3s cluster (#215) 2026-02-19 09:33:05 -08:00
tailscale-operator.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00
teslamate.yaml Doc review: connect-to-postgres, create-release-artifact-workflow, deploy-k8s-service (#191) 2026-02-15 07:42:01 -08:00
torrent.yaml Add Immich photo management + migrate forge URLs (#62) 2026-01-26 11:20:11 -08:00