blumeops/docs/zk/miniflux-log.md
Erich Blume 4ccb7b9a26 Fix wiki-links to use filename-based resolution (#90)
## Summary
- Quartz's "shortest" path mode resolves wiki-links by **filename**, not frontmatter title
- Previous PR used title-based links like `[[Grafana Alloy]]` which looked for non-existent `Grafana-Alloy.md`
- Now using filename-based links like `[[alloy|Grafana Alloy]]` which correctly resolve

## Changes
- Rename zk duplicate files with `-log` suffix (e.g., `argocd.md` → `argocd-log.md`)
- Rename `reference/storage/postgresql.md` to `postgresql-storage.md`
- Convert all 175 wiki-links from `[[Title]]` to `[[filename|Title]]` format
- Rename `doc-card-titles` task to `doc-filenames` (checks filename uniqueness, not titles)
- Update pre-commit hook for renamed task

## Deployment and Testing
- [x] Pre-commit hooks pass
- [x] `mise run doc-filenames` shows no duplicate filenames
- [ ] Verify wiki-links work correctly in Quartz build

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/90
2026-02-03 15:30:42 -08:00

2.2 KiB

id aliases tags
miniflux-log
feed
rss
blumeops

Miniflux Management Log

Miniflux is a minimalist RSS/Atom feed reader running in Kubernetes (minikube on indri).

Service Details

Useful Commands

# View logs
kubectl -n miniflux logs -f deployment/miniflux

# Restart deployment
kubectl -n miniflux rollout restart deployment/miniflux

# Check health
curl https://feed.tail8d86e.ts.net/healthcheck

# Sync from ArgoCD
argocd app sync miniflux

ArgoCD Management

Miniflux is deployed via ArgoCD from argocd/manifests/miniflux/:

  • deployment.yaml - Deployment with environment configuration
  • service.yaml - ClusterIP service
  • ingress-tailscale.yaml - Tailscale Ingress for external access

Credentials

The miniflux database user password is auto-generated by CloudNativePG and stored in the blumeops-pg-app secret in the databases namespace.

To recreate the miniflux-db secret:

kubectl create secret generic miniflux-db -n miniflux \
  --from-literal=url="$(kubectl -n databases get secret blumeops-pg-app -o jsonpath='{.data.uri}' | base64 -d)"

Features

  • Keyboard shortcuts for efficient reading
  • Fever and Google Reader API compatible
  • Mobile-friendly web interface
  • OPML import/export
  • Content scraping for full articles

Backup

Feed subscriptions and read state stored in postgresql, backed up via borgmatic's postgresql_databases hook.

Log

Sun Jan 19 2026

  • Migrated to Kubernetes (Phase 4 of k8s migration)
  • Deployed via ArgoCD in miniflux namespace
  • Database connection via internal k8s DNS to CloudNativePG cluster
  • Exposed via Tailscale Ingress at feed.tail8d86e.ts.net
  • Removed brew miniflux service and ansible role from indri
  • Fixed table ownership issue after P3 restore (tables were owned by eblume, needed to be owned by miniflux)

Thu Jan 16 2026

  • Initial setup with Miniflux 2.x on brew
  • Connected to PostgreSQL 18 on localhost
  • Exposed via Tailscale at feed.tail8d86e.ts.net