blumeops/docs/reference/infrastructure/routing.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.4 KiB

title tags
Service Routing
infrastructure
network

Service Routing

Services are accessible via two DNS domains with different reachability.

DNS Domains

Domain Proxy Reachable From
*.ops.eblu.me Caddy on indri k8s pods, docker containers, tailnet clients
*.tail8d86e.ts.net Tailscale MagicDNS Tailnet clients only

Use *.ops.eblu.me for services that need pod-to-service communication.

Caddy Services (*.ops.eblu.me)

DNS points to indri's Tailscale IP (100.98.163.89). TLS via Let's Encrypt (ACME DNS-01 with Gandi).

Service URL Description
Homepage https://go.ops.eblu.me Service dashboard
[[forgejo Forgejo]] https://forge.ops.eblu.me
[[zot Zot]] https://registry.ops.eblu.me
[[grafana Grafana]] https://grafana.ops.eblu.me
[[argocd ArgoCD]] https://argocd.ops.eblu.me
[[prometheus Prometheus]] https://prometheus.ops.eblu.me
[[loki Loki]] https://loki.ops.eblu.me
[[miniflux Miniflux]] https://feed.ops.eblu.me
[[kiwix Kiwix]] https://kiwix.ops.eblu.me
[[transmission Transmission]] https://torrent.ops.eblu.me
[[teslamate TeslaMate]] https://tesla.ops.eblu.me
[[navidrome Navidrome]] https://dj.ops.eblu.me
[[jellyfin Jellyfin]] https://jellyfin.ops.eblu.me
[[postgresql PostgreSQL]] pg.ops.eblu.me:5432
[[sifaka Sifaka]] https://nas.ops.eblu.me

Tailscale-Only Services

Service URL Description
Kubernetes https://k8s.tail8d86e.ts.net Minikube API

Port Map (Indri)

Port Service Protocol Binding Notes
443 Caddy HTTPS 0.0.0.0 Reverse proxy
2222 Caddy L4 TCP 0.0.0.0 SSH proxy to Forgejo
5432 Caddy L4 TCP 0.0.0.0 PostgreSQL proxy
2200 Forgejo SSH TCP localhost Built-in SSH server
3001 Forgejo HTTP localhost Web UI
5050 Zot HTTP localhost Registry API
8096 Jellyfin HTTP localhost Media server
44491 K8s API HTTPS 0.0.0.0 Minikube API server