From 649ae15204f9f46593f6ac93ba5f22b60682f474 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Tue, 3 Feb 2026 13:33:14 -0800 Subject: [PATCH] Fix escaped pipes in wiki-links Remove backslash escaping from pipe characters in wiki-links. Correct: [[services/forgejo|Forgejo]] Wrong: [[services/forgejo\|Forgejo]] Co-Authored-By: Claude Opus 4.5 --- docs/reference/index.md | 46 +++++++++++----------- docs/reference/infrastructure/hosts.md | 18 ++++----- docs/reference/infrastructure/routing.md | 32 +++++++-------- docs/reference/infrastructure/tailscale.md | 6 +-- docs/reference/kubernetes/apps.md | 38 +++++++++--------- docs/reference/kubernetes/cluster.md | 12 +++--- docs/reference/services/1password.md | 4 +- docs/reference/services/alloy.md | 10 ++--- docs/reference/services/argocd.md | 6 +-- docs/reference/services/borgmatic.md | 16 ++++---- docs/reference/services/forgejo.md | 4 +- docs/reference/services/grafana.md | 6 +-- docs/reference/services/jellyfin.md | 8 ++-- docs/reference/services/kiwix.md | 10 ++--- docs/reference/services/loki.md | 10 ++--- docs/reference/services/miniflux.md | 8 ++-- docs/reference/services/navidrome.md | 4 +- docs/reference/services/postgresql.md | 14 +++---- docs/reference/services/prometheus.md | 12 +++--- docs/reference/services/teslamate.md | 8 ++-- docs/reference/services/transmission.md | 12 +++--- docs/reference/services/zot.md | 6 +-- docs/reference/storage/backups.md | 20 +++++----- docs/reference/storage/sifaka.md | 18 ++++----- 24 files changed, 164 insertions(+), 164 deletions(-) diff --git a/docs/reference/index.md b/docs/reference/index.md index 1662f1b..c8da610 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -14,41 +14,41 @@ Individual service reference cards with URLs, configuration, and operational det | Service | Description | Location | |---------|-------------|----------| -| [[services/alloy\|Alloy]] | Observability collector (metrics & logs) | indri + k8s | -| [[services/argocd\|ArgoCD]] | GitOps continuous delivery | k8s | -| [[services/borgmatic\|Borgmatic]] | Backup system | indri | -| [[services/1password\|1Password]] | Secrets management | cloud + k8s | -| [[services/forgejo\|Forgejo]] | Git forge & CI/CD | indri | -| [[services/grafana\|Grafana]] | Dashboards & visualization | k8s | -| [[services/jellyfin\|Jellyfin]] | Media server | indri | -| [[services/kiwix\|Kiwix]] | Offline Wikipedia & ZIM archives | k8s | -| [[services/loki\|Loki]] | Log aggregation | k8s | -| [[services/miniflux\|Miniflux]] | RSS feed reader | k8s | -| [[services/navidrome\|Navidrome]] | Music streaming | k8s | -| [[services/postgresql\|PostgreSQL]] | Database cluster | k8s | -| [[services/prometheus\|Prometheus]] | Metrics collection | k8s | -| [[services/teslamate\|TeslaMate]] | Tesla data logger | k8s | -| [[services/transmission\|Transmission]] | BitTorrent daemon | k8s | -| [[services/zot\|Zot]] | Container registry | indri | +| [[services/alloy|Alloy]] | Observability collector (metrics & logs) | indri + k8s | +| [[services/argocd|ArgoCD]] | GitOps continuous delivery | k8s | +| [[services/borgmatic|Borgmatic]] | Backup system | indri | +| [[services/1password|1Password]] | Secrets management | cloud + k8s | +| [[services/forgejo|Forgejo]] | Git forge & CI/CD | indri | +| [[services/grafana|Grafana]] | Dashboards & visualization | k8s | +| [[services/jellyfin|Jellyfin]] | Media server | indri | +| [[services/kiwix|Kiwix]] | Offline Wikipedia & ZIM archives | k8s | +| [[services/loki|Loki]] | Log aggregation | k8s | +| [[services/miniflux|Miniflux]] | RSS feed reader | k8s | +| [[services/navidrome|Navidrome]] | Music streaming | k8s | +| [[services/postgresql|PostgreSQL]] | Database cluster | k8s | +| [[services/prometheus|Prometheus]] | Metrics collection | k8s | +| [[services/teslamate|TeslaMate]] | Tesla data logger | k8s | +| [[services/transmission|Transmission]] | BitTorrent daemon | k8s | +| [[services/zot|Zot]] | Container registry | indri | ## Infrastructure Host inventory and network configuration. -- [[infrastructure/hosts\|Hosts]] - Device inventory (indri, gilbert, sifaka, etc.) -- [[infrastructure/tailscale\|Tailscale]] - ACLs, groups, tags -- [[infrastructure/routing\|Routing]] - DNS domains, port mappings +- [[infrastructure/hosts|Hosts]] - Device inventory (indri, gilbert, sifaka, etc.) +- [[infrastructure/tailscale|Tailscale]] - ACLs, groups, tags +- [[infrastructure/routing|Routing]] - DNS domains, port mappings ## Kubernetes Cluster configuration and application registry. -- [[kubernetes/cluster\|Cluster]] - Minikube specs, storage, networking -- [[kubernetes/apps\|Apps]] - ArgoCD application registry +- [[kubernetes/cluster|Cluster]] - Minikube specs, storage, networking +- [[kubernetes/apps|Apps]] - ArgoCD application registry ## Storage Network storage and backup configuration. -- [[storage/sifaka\|Sifaka]] - Synology NAS configuration -- [[storage/backups\|Backups]] - Backup policy and schedule +- [[storage/sifaka|Sifaka]] - Synology NAS configuration +- [[storage/backups|Backups]] - Backup policy and schedule diff --git a/docs/reference/infrastructure/hosts.md b/docs/reference/infrastructure/hosts.md index 9589b40..cea3105 100644 --- a/docs/reference/infrastructure/hosts.md +++ b/docs/reference/infrastructure/hosts.md @@ -13,7 +13,7 @@ All devices connected via [Tailscale](https://login.tailscale.com/) tailnet `tai | Host | Description | Notes | |------|-------------|-------| | **Indri** | Mac Mini M1, 2020 | Primary server, 2TB internal disk | -| **[[storage/sifaka\|Sifaka]]** | Synology NAS | 10.9TB RAID 5, backup target | +| **[[storage/sifaka|Sifaka]]** | Synology NAS | 10.9TB RAID 5, backup target | | **Gilbert** | 13" MacBook Air M4, 2025 | Primary workstation | | **Mouse** | 13" MacBook Air M2 | Allison's laptop | | **UniFi** | UniFi Express 7 | Home WiFi network | @@ -32,15 +32,15 @@ All devices connected via [Tailscale](https://login.tailscale.com/) tailnet `tai ### Services Hosted **Native (via Ansible):** -- [[services/forgejo\|Forgejo]] - Git forge -- [[services/zot\|Zot]] - Container registry -- [[services/jellyfin\|Jellyfin]] - Media server -- [[services/borgmatic\|Borgmatic]] - Backup system -- [[services/alloy\|Alloy]] - Metrics/logs collector +- [[services/forgejo|Forgejo]] - Git forge +- [[services/zot|Zot]] - Container registry +- [[services/jellyfin|Jellyfin]] - Media server +- [[services/borgmatic|Borgmatic]] - Backup system +- [[services/alloy|Alloy]] - Metrics/logs collector - Caddy - Reverse proxy **Kubernetes (via minikube):** -- [[kubernetes/apps\|All k8s applications]] +- [[kubernetes/apps|All k8s applications]] ### Sleep Prevention @@ -67,5 +67,5 @@ Fish abbreviations: ## Related -- [[infrastructure/tailscale\|Tailscale]] - Network configuration -- [[storage/sifaka\|Sifaka]] - NAS details +- [[infrastructure/tailscale|Tailscale]] - Network configuration +- [[storage/sifaka|Sifaka]] - NAS details diff --git a/docs/reference/infrastructure/routing.md b/docs/reference/infrastructure/routing.md index 51d7133..b6042a2 100644 --- a/docs/reference/infrastructure/routing.md +++ b/docs/reference/infrastructure/routing.md @@ -25,20 +25,20 @@ DNS points to indri's Tailscale IP (100.98.163.89). TLS via Let's Encrypt (ACME | Service | URL | Description | |---------|-----|-------------| | Homepage | https://go.ops.eblu.me | Service dashboard | -| [[services/forgejo\|Forgejo]] | https://forge.ops.eblu.me | Git hosting (SSH: 2222) | -| [[services/zot\|Zot]] | https://registry.ops.eblu.me | Container registry | -| [[services/grafana\|Grafana]] | https://grafana.ops.eblu.me | Dashboards | -| [[services/argocd\|ArgoCD]] | https://argocd.ops.eblu.me | GitOps CD | -| [[services/prometheus\|Prometheus]] | https://prometheus.ops.eblu.me | Metrics | -| [[services/loki\|Loki]] | https://loki.ops.eblu.me | Logs | -| [[services/miniflux\|Miniflux]] | https://feed.ops.eblu.me | RSS reader | -| [[services/kiwix\|Kiwix]] | https://kiwix.ops.eblu.me | Offline Wikipedia | -| [[services/transmission\|Transmission]] | https://torrent.ops.eblu.me | BitTorrent | -| [[services/teslamate\|TeslaMate]] | https://tesla.ops.eblu.me | Tesla logger | -| [[services/navidrome\|Navidrome]] | https://dj.ops.eblu.me | Music streaming | -| [[services/jellyfin\|Jellyfin]] | https://jellyfin.ops.eblu.me | Media server | -| [[services/postgresql\|PostgreSQL]] | pg.ops.eblu.me:5432 | Database | -| [[storage/sifaka\|Sifaka]] | https://nas.ops.eblu.me | NAS dashboard | +| [[services/forgejo|Forgejo]] | https://forge.ops.eblu.me | Git hosting (SSH: 2222) | +| [[services/zot|Zot]] | https://registry.ops.eblu.me | Container registry | +| [[services/grafana|Grafana]] | https://grafana.ops.eblu.me | Dashboards | +| [[services/argocd|ArgoCD]] | https://argocd.ops.eblu.me | GitOps CD | +| [[services/prometheus|Prometheus]] | https://prometheus.ops.eblu.me | Metrics | +| [[services/loki|Loki]] | https://loki.ops.eblu.me | Logs | +| [[services/miniflux|Miniflux]] | https://feed.ops.eblu.me | RSS reader | +| [[services/kiwix|Kiwix]] | https://kiwix.ops.eblu.me | Offline Wikipedia | +| [[services/transmission|Transmission]] | https://torrent.ops.eblu.me | BitTorrent | +| [[services/teslamate|TeslaMate]] | https://tesla.ops.eblu.me | Tesla logger | +| [[services/navidrome|Navidrome]] | https://dj.ops.eblu.me | Music streaming | +| [[services/jellyfin|Jellyfin]] | https://jellyfin.ops.eblu.me | Media server | +| [[services/postgresql|PostgreSQL]] | pg.ops.eblu.me:5432 | Database | +| [[storage/sifaka|Sifaka]] | https://nas.ops.eblu.me | NAS dashboard | ## Tailscale-Only Services @@ -75,5 +75,5 @@ DNS points to indri's Tailscale IP (100.98.163.89). TLS via Let's Encrypt (ACME ## Related -- [[infrastructure/tailscale\|Tailscale]] - ACL configuration -- [[infrastructure/hosts\|Hosts]] - Where services run +- [[infrastructure/tailscale|Tailscale]] - ACL configuration +- [[infrastructure/hosts|Hosts]] - Where services run diff --git a/docs/reference/infrastructure/tailscale.md b/docs/reference/infrastructure/tailscale.md index 7e2d49a..a852ddb 100644 --- a/docs/reference/infrastructure/tailscale.md +++ b/docs/reference/infrastructure/tailscale.md @@ -22,7 +22,7 @@ mise run tailnet-up # Apply changes | Group | Members | Purpose | |-------|---------|---------| -| `group:allisonflix` | admin, member | [[services/jellyfin\|Jellyfin]] media access | +| `group:allisonflix` | admin, member | [[services/jellyfin|Jellyfin]] media access | ## Device Tags @@ -63,5 +63,5 @@ Pulumi uses OAuth client from 1Password (blumeops vault): ## Related -- [[infrastructure/routing\|Routing]] - Service URLs -- [[infrastructure/hosts\|Hosts]] - Device inventory +- [[infrastructure/routing|Routing]] - Service URLs +- [[infrastructure/hosts|Hosts]] - Device inventory diff --git a/docs/reference/kubernetes/apps.md b/docs/reference/kubernetes/apps.md index de6f679..c10bbd8 100644 --- a/docs/reference/kubernetes/apps.md +++ b/docs/reference/kubernetes/apps.md @@ -7,32 +7,32 @@ tags: # ArgoCD Applications -Registry of all applications deployed via [[services/argocd\|ArgoCD]]. +Registry of all applications deployed via [[services/argocd|ArgoCD]]. ## Application Registry | App | Namespace | Path/Source | Service | |-----|-----------|-------------|---------| | `apps` | argocd | `argocd/apps/` | App-of-apps root | -| `argocd` | argocd | `argocd/manifests/argocd/` | [[services/argocd\|ArgoCD]] | +| `argocd` | argocd | `argocd/manifests/argocd/` | [[services/argocd|ArgoCD]] | | `tailscale-operator` | tailscale | `argocd/manifests/tailscale-operator/` | Tailscale k8s operator | -| `1password-connect` | 1password | `argocd/manifests/1password-connect/` | [[services/1password\|1Password]] | -| `external-secrets` | external-secrets | Helm chart | [[services/1password\|1Password]] | -| `external-secrets-config` | external-secrets | `argocd/manifests/external-secrets-config/` | [[services/1password\|1Password]] | +| `1password-connect` | 1password | `argocd/manifests/1password-connect/` | [[services/1password|1Password]] | +| `external-secrets` | external-secrets | Helm chart | [[services/1password|1Password]] | +| `external-secrets-config` | external-secrets | `argocd/manifests/external-secrets-config/` | [[services/1password|1Password]] | | `cloudnative-pg` | cnpg-system | Helm chart (forge mirror) | PostgreSQL operator | -| `blumeops-pg` | databases | `argocd/manifests/databases/` | [[services/postgresql\|PostgreSQL]] | -| `prometheus` | monitoring | `argocd/manifests/prometheus/` | [[services/prometheus\|Prometheus]] | -| `loki` | monitoring | `argocd/manifests/loki/` | [[services/loki\|Loki]] | -| `grafana` | monitoring | Helm chart (forge mirror) | [[services/grafana\|Grafana]] | -| `grafana-config` | monitoring | `argocd/manifests/grafana-config/` | [[services/grafana\|Grafana]] | -| `alloy-k8s` | alloy | `argocd/manifests/alloy-k8s/` | [[services/alloy\|Alloy]] | +| `blumeops-pg` | databases | `argocd/manifests/databases/` | [[services/postgresql|PostgreSQL]] | +| `prometheus` | monitoring | `argocd/manifests/prometheus/` | [[services/prometheus|Prometheus]] | +| `loki` | monitoring | `argocd/manifests/loki/` | [[services/loki|Loki]] | +| `grafana` | monitoring | Helm chart (forge mirror) | [[services/grafana|Grafana]] | +| `grafana-config` | monitoring | `argocd/manifests/grafana-config/` | [[services/grafana|Grafana]] | +| `alloy-k8s` | alloy | `argocd/manifests/alloy-k8s/` | [[services/alloy|Alloy]] | | `kube-state-metrics` | monitoring | `argocd/manifests/kube-state-metrics/` | K8s metrics | -| `miniflux` | miniflux | `argocd/manifests/miniflux/` | [[services/miniflux\|Miniflux]] | -| `kiwix` | kiwix | `argocd/manifests/kiwix/` | [[services/kiwix\|Kiwix]] | -| `torrent` | torrent | `argocd/manifests/torrent/` | [[services/transmission\|Transmission]] | -| `navidrome` | navidrome | `argocd/manifests/navidrome/` | [[services/navidrome\|Navidrome]] | -| `teslamate` | teslamate | `argocd/manifests/teslamate/` | [[services/teslamate\|TeslaMate]] | -| `forgejo-runner` | forgejo-runner | `argocd/manifests/forgejo-runner/` | [[services/forgejo\|Forgejo]] CI | +| `miniflux` | miniflux | `argocd/manifests/miniflux/` | [[services/miniflux|Miniflux]] | +| `kiwix` | kiwix | `argocd/manifests/kiwix/` | [[services/kiwix|Kiwix]] | +| `torrent` | torrent | `argocd/manifests/torrent/` | [[services/transmission|Transmission]] | +| `navidrome` | navidrome | `argocd/manifests/navidrome/` | [[services/navidrome|Navidrome]] | +| `teslamate` | teslamate | `argocd/manifests/teslamate/` | [[services/teslamate|TeslaMate]] | +| `forgejo-runner` | forgejo-runner | `argocd/manifests/forgejo-runner/` | [[services/forgejo|Forgejo]] CI | ## Sync Policies @@ -61,5 +61,5 @@ argocd app sync # Deploy changes ## Related -- [[services/argocd\|ArgoCD]] - GitOps platform details -- [[kubernetes/cluster\|Cluster]] - Kubernetes infrastructure +- [[services/argocd|ArgoCD]] - GitOps platform details +- [[kubernetes/cluster|Cluster]] - Kubernetes infrastructure diff --git a/docs/reference/kubernetes/cluster.md b/docs/reference/kubernetes/cluster.md index f904fac..b796987 100644 --- a/docs/reference/kubernetes/cluster.md +++ b/docs/reference/kubernetes/cluster.md @@ -6,7 +6,7 @@ tags: # Kubernetes Cluster -Single-node Minikube cluster running on [[infrastructure/hosts\|Indri]]. +Single-node Minikube cluster running on [[infrastructure/hosts|Indri]]. ## Cluster Specifications @@ -36,7 +36,7 @@ Fish abbreviations: ## Volume Mounting -Pods mount NFS directly from [[storage/sifaka\|Sifaka]]: +Pods mount NFS directly from [[storage/sifaka|Sifaka]]: ```yaml volumes: @@ -50,7 +50,7 @@ Docker NATs outbound traffic through indri's LAN IP (192.168.1.50), allowing acc ## Registry Mirror -Containerd uses [[services/zot\|Zot]] as a pull-through cache: +Containerd uses [[services/zot|Zot]] as a pull-through cache: - Endpoint: `host.minikube.internal:5050` - Config: `/etc/containerd/certs.d//hosts.toml` @@ -68,6 +68,6 @@ minikube logs # View logs ## Related -- [[kubernetes/apps\|Apps]] - ArgoCD applications -- [[services/argocd\|ArgoCD]] - GitOps deployment -- [[services/zot\|Zot]] - Registry mirror +- [[kubernetes/apps|Apps]] - ArgoCD applications +- [[services/argocd|ArgoCD]] - GitOps deployment +- [[services/zot|Zot]] - Registry mirror diff --git a/docs/reference/services/1password.md b/docs/reference/services/1password.md index 59c5b57..f85c107 100644 --- a/docs/reference/services/1password.md +++ b/docs/reference/services/1password.md @@ -54,5 +54,5 @@ op inject -i secret.yaml.tpl | kubectl apply -f - ## Related -- [[argocd\|ArgoCD]] - Uses secrets for git access -- [[postgresql\|PostgreSQL]] - Database credentials +- [[argocd|ArgoCD]] - Uses secrets for git access +- [[postgresql|PostgreSQL]] - Database credentials diff --git a/docs/reference/services/alloy.md b/docs/reference/services/alloy.md index fb8dcaf..f8953a0 100644 --- a/docs/reference/services/alloy.md +++ b/docs/reference/services/alloy.md @@ -27,7 +27,7 @@ Unified observability collector for metrics and logs with two deployments: - System metrics via `prometheus.exporter.unix` - Textfile collector: `minikube.prom`, `borgmatic.prom`, `zot.prom`, `jellyfin.prom` - Zot registry metrics from `http://localhost:5050/metrics` -- Pushed to [[prometheus\|Prometheus]] via remote_write +- Pushed to [[prometheus|Prometheus]] via remote_write ### From Kubernetes - All pod logs via `loki.source.kubernetes` @@ -39,7 +39,7 @@ Unified observability collector for metrics and logs with two deployments: **mcquack LaunchAgents:** alloy, borgmatic, zot, jellyfin -Logs pushed to [[loki\|Loki]] at `https://loki.tail8d86e.ts.net/loki/api/v1/push`. +Logs pushed to [[loki|Loki]] at `https://loki.tail8d86e.ts.net/loki/api/v1/push`. ## Why Built from Source @@ -47,6 +47,6 @@ The Homebrew bottle uses `CGO_ENABLED=0`, which breaks Tailscale MagicDNS. Build ## Related -- [[prometheus\|Prometheus]] - Metrics storage -- [[loki\|Loki]] - Log storage -- [[grafana\|Grafana]] - Visualization +- [[prometheus|Prometheus]] - Metrics storage +- [[loki|Loki]] - Log storage +- [[grafana|Grafana]] - Visualization diff --git a/docs/reference/services/argocd.md b/docs/reference/services/argocd.md index 874653e..9090907 100644 --- a/docs/reference/services/argocd.md +++ b/docs/reference/services/argocd.md @@ -7,7 +7,7 @@ tags: # ArgoCD -GitOps continuous delivery platform for the [[kubernetes/cluster\|Kubernetes cluster]]. +GitOps continuous delivery platform for the [[kubernetes/cluster|Kubernetes cluster]]. ## Quick Reference @@ -46,5 +46,5 @@ argocd app get ## Related -- [[kubernetes/apps\|Apps]] - Full application registry -- [[forgejo\|Forgejo]] - Git source +- [[kubernetes/apps|Apps]] - Full application registry +- [[forgejo|Forgejo]] - Git source diff --git a/docs/reference/services/borgmatic.md b/docs/reference/services/borgmatic.md index e7afdd4..da84c6e 100644 --- a/docs/reference/services/borgmatic.md +++ b/docs/reference/services/borgmatic.md @@ -16,7 +16,7 @@ Daily backup system using Borg backup, running on indri. | **Install** | mise (pipx) | | **Config** | `~/.config/borgmatic/config.yaml` | | **Schedule** | Daily at 2:00 AM | -| **Repository** | `/Volumes/backups/borg/` on [[storage/sifaka\|Sifaka]] | +| **Repository** | `/Volumes/backups/borg/` on [[storage/sifaka|Sifaka]] | ## What Gets Backed Up @@ -28,8 +28,8 @@ Daily backup system using Borg backup, running on indri. - `~/Pictures` - Photos **Databases:** -- `miniflux` on [[postgresql\|PostgreSQL]] -- `teslamate` on [[postgresql\|PostgreSQL]] +- `miniflux` on [[postgresql|PostgreSQL]] +- `teslamate` on [[postgresql|PostgreSQL]] **Not backed up (by design):** - ZIM archives (re-downloadable) @@ -46,15 +46,15 @@ Daily backup system using Borg backup, running on indri. ## Monitoring -Metrics exposed via textfile collector to [[prometheus\|Prometheus]]: +Metrics exposed via textfile collector to [[prometheus|Prometheus]]: - `borgmatic_up` - Repository accessibility - `borgmatic_last_archive_timestamp` - Last backup time - `borgmatic_repo_deduplicated_size_bytes` - Disk usage -Dashboard: "Borgmatic Backups" in [[grafana\|Grafana]] +Dashboard: "Borgmatic Backups" in [[grafana|Grafana]] ## Related -- [[storage/backups\|Backups]] - Full backup policy -- [[storage/sifaka\|Sifaka]] - Backup target -- [[postgresql\|PostgreSQL]] - Database backups +- [[storage/backups|Backups]] - Full backup policy +- [[storage/sifaka|Sifaka]] - Backup target +- [[postgresql|PostgreSQL]] - Database backups diff --git a/docs/reference/services/forgejo.md b/docs/reference/services/forgejo.md index c90ff03..5b8edd3 100644 --- a/docs/reference/services/forgejo.md +++ b/docs/reference/services/forgejo.md @@ -54,5 +54,5 @@ Secrets fetched from 1Password: `lfs-jwt-secret`, `internal-token`, `oauth2-jwt- ## Related -- [[argocd\|ArgoCD]] - Uses Forgejo as git source -- [[zot\|Zot]] - Container registry for built images +- [[argocd|ArgoCD]] - Uses Forgejo as git source +- [[zot|Zot]] - Container registry for built images diff --git a/docs/reference/services/grafana.md b/docs/reference/services/grafana.md index f0181f3..04c8114 100644 --- a/docs/reference/services/grafana.md +++ b/docs/reference/services/grafana.md @@ -45,6 +45,6 @@ Optional annotation: `grafana_folder: "FolderName"` ## Related -- [[prometheus\|Prometheus]] - Metrics datasource -- [[loki\|Loki]] - Logs datasource -- [[alloy\|Alloy]] - Data collector +- [[prometheus|Prometheus]] - Metrics datasource +- [[loki|Loki]] - Logs datasource +- [[alloy|Alloy]] - Data collector diff --git a/docs/reference/services/jellyfin.md b/docs/reference/services/jellyfin.md index 7a28b69..5ff0e51 100644 --- a/docs/reference/services/jellyfin.md +++ b/docs/reference/services/jellyfin.md @@ -42,10 +42,10 @@ Dashboard > Playback: ## Observability - Metrics: `jellyfin_metrics` ansible role -- Logs: Forwarded via [[alloy\|Alloy]] -- Dashboard: "Jellyfin Media Server" in [[grafana\|Grafana]] +- Logs: Forwarded via [[alloy|Alloy]] +- Dashboard: "Jellyfin Media Server" in [[grafana|Grafana]] ## Related -- [[navidrome\|Navidrome]] - Music streaming -- [[storage/sifaka\|Sifaka]] - Media storage +- [[navidrome|Navidrome]] - Music streaming +- [[storage/sifaka|Sifaka]] - Media storage diff --git a/docs/reference/services/kiwix.md b/docs/reference/services/kiwix.md index 9f66d25..1b6e5f7 100644 --- a/docs/reference/services/kiwix.md +++ b/docs/reference/services/kiwix.md @@ -17,14 +17,14 @@ Offline Wikipedia and ZIM archive server. | **Tailscale URL** | https://kiwix.tail8d86e.ts.net | | **Namespace** | `kiwix` | | **Image** | `ghcr.io/kiwix/kiwix-serve:3.8.1` | -| **Storage** | NFS from [[storage/sifaka\|Sifaka]] (`/volume1/torrents`) | +| **Storage** | NFS from [[storage/sifaka|Sifaka]] (`/volume1/torrents`) | ## Architecture | Component | Purpose | |-----------|---------| | kiwix-serve | Serves ZIM files on port 80 | -| torrent-sync | Sidecar syncing ZIM torrents to [[transmission\|Transmission]] | +| torrent-sync | Sidecar syncing ZIM torrents to [[transmission|Transmission]] | | zim-watcher | CronJob (hourly) to restart on new ZIMs | ## Configured Archives @@ -43,10 +43,10 @@ Full list: `argocd/manifests/kiwix/configmap-zim-torrents.yaml` 1. Edit `configmap-zim-torrents.yaml` 2. Add torrent URL from https://download.kiwix.org/zim/ 3. Sync: `argocd app sync kiwix` -4. Torrent-sync adds to [[transmission\|Transmission]] +4. Torrent-sync adds to [[transmission|Transmission]] 5. zim-watcher restarts kiwix when download completes ## Related -- [[transmission\|Transmission]] - Downloads ZIM files -- [[storage/sifaka\|Sifaka]] - ZIM storage +- [[transmission|Transmission]] - Downloads ZIM files +- [[storage/sifaka|Sifaka]] - ZIM storage diff --git a/docs/reference/services/loki.md b/docs/reference/services/loki.md index c13fea2..af5c77d 100644 --- a/docs/reference/services/loki.md +++ b/docs/reference/services/loki.md @@ -24,8 +24,8 @@ Log aggregation system for BlumeOps infrastructure. - Single-node deployment with filesystem storage - TSDB index with 24h period -- Logs collected by [[alloy\|Alloy]] and pushed via Loki API -- Queried via [[grafana\|Grafana]] +- Logs collected by [[alloy|Alloy]] and pushed via Loki API +- Queried via [[grafana|Grafana]] ## Log Sources @@ -46,6 +46,6 @@ Log aggregation system for BlumeOps infrastructure. ## Related -- [[alloy\|Alloy]] - Log collector -- [[grafana\|Grafana]] - Log visualization -- [[prometheus\|Prometheus]] - Metrics counterpart +- [[alloy|Alloy]] - Log collector +- [[grafana|Grafana]] - Log visualization +- [[prometheus|Prometheus]] - Metrics counterpart diff --git a/docs/reference/services/miniflux.md b/docs/reference/services/miniflux.md index 543e59f..9468036 100644 --- a/docs/reference/services/miniflux.md +++ b/docs/reference/services/miniflux.md @@ -17,7 +17,7 @@ Minimalist RSS/Atom feed reader. | **Tailscale URL** | https://feed.tail8d86e.ts.net | | **Namespace** | `miniflux` | | **Image** | `ghcr.io/miniflux/miniflux:latest` | -| **Database** | [[postgresql\|PostgreSQL]] | +| **Database** | [[postgresql|PostgreSQL]] | ## Features @@ -35,7 +35,7 @@ Database user password stored in `blumeops-pg-app` secret (auto-generated by CNP ## Backup -Feed subscriptions and read state backed up via [[borgmatic\|Borgmatic]] PostgreSQL hook. +Feed subscriptions and read state backed up via [[borgmatic|Borgmatic]] PostgreSQL hook. ## Health Check @@ -45,5 +45,5 @@ curl https://feed.ops.eblu.me/healthcheck ## Related -- [[postgresql\|PostgreSQL]] - Database backend -- [[borgmatic\|Borgmatic]] - Data backup +- [[postgresql|PostgreSQL]] - Database backend +- [[borgmatic|Borgmatic]] - Data backup diff --git a/docs/reference/services/navidrome.md b/docs/reference/services/navidrome.md index ccfac06..cf51184 100644 --- a/docs/reference/services/navidrome.md +++ b/docs/reference/services/navidrome.md @@ -48,5 +48,5 @@ kubectl --context=minikube-indri -n navidrome exec deploy/navidrome -- ls /music ## Related -- [[jellyfin\|Jellyfin]] - Video streaming -- [[storage/sifaka\|Sifaka]] - Music storage +- [[jellyfin|Jellyfin]] - Video streaming +- [[storage/sifaka|Sifaka]] - Music storage diff --git a/docs/reference/services/postgresql.md b/docs/reference/services/postgresql.md index ae46b78..5a2fb3f 100644 --- a/docs/reference/services/postgresql.md +++ b/docs/reference/services/postgresql.md @@ -23,8 +23,8 @@ Database cluster via CloudNativePG operator. | Database | Owner | Purpose | |----------|-------|---------| -| miniflux | miniflux | [[miniflux\|Miniflux]] feed data | -| teslamate | teslamate | [[teslamate\|TeslaMate]] vehicle data | +| miniflux | miniflux | [[miniflux|Miniflux]] feed data | +| teslamate | teslamate | [[teslamate|TeslaMate]] vehicle data | ## Users @@ -34,7 +34,7 @@ Database cluster via CloudNativePG operator. | miniflux | app owner | Owns miniflux database | | teslamate | superuser | TeslaMate (needs extensions) | | eblume | superuser | Admin access | -| borgmatic | pg_read_all_data | [[borgmatic\|Backup]] access | +| borgmatic | pg_read_all_data | [[borgmatic|Backup]] access | ## Quick Connect @@ -45,7 +45,7 @@ PGPASSWORD=$(op --vault blumeops item get --fields password --reveal) ## Backup -Backed up via [[borgmatic\|Borgmatic]] `postgresql_databases` hook. +Backed up via [[borgmatic|Borgmatic]] `postgresql_databases` hook. Borgmatic streams `pg_dump` directly to Borg (no intermediate files, no downtime). @@ -63,6 +63,6 @@ Borgmatic streams `pg_dump` directly to Borg (no intermediate files, no downtime ## Related -- [[miniflux\|Miniflux]] - Feed reader database -- [[teslamate\|TeslaMate]] - Vehicle data database -- [[borgmatic\|Borgmatic]] - Database backup +- [[miniflux|Miniflux]] - Feed reader database +- [[teslamate|TeslaMate]] - Vehicle data database +- [[borgmatic|Borgmatic]] - Database backup diff --git a/docs/reference/services/prometheus.md b/docs/reference/services/prometheus.md index 75a7379..b0a1435 100644 --- a/docs/reference/services/prometheus.md +++ b/docs/reference/services/prometheus.md @@ -22,14 +22,14 @@ Metrics storage and querying for BlumeOps infrastructure. ## Data Sources ### Remote Write (from Alloy) -- Indri system metrics via [[alloy\|Alloy]] remote_write +- Indri system metrics via [[alloy|Alloy]] remote_write - Textfile metrics: minikube, borgmatic, zot, jellyfin ### Scrape Targets | Target | Metrics | |--------|---------| -| `sifaka:9100` | [[storage/sifaka\|Sifaka]] NAS (node_exporter) | -| `cnpg-metrics.tail8d86e.ts.net:9187` | [[postgresql\|CloudNativePG]] metrics | +| `sifaka:9100` | [[storage/sifaka|Sifaka]] NAS (node_exporter) | +| `cnpg-metrics.tail8d86e.ts.net:9187` | [[postgresql|CloudNativePG]] metrics | | `kube-state-metrics.monitoring.svc:8080` | Kubernetes resource metrics | ## Query API @@ -49,6 +49,6 @@ Manifests: `argocd/manifests/prometheus/` ## Related -- [[alloy\|Alloy]] - Metrics collector -- [[grafana\|Grafana]] - Visualization -- [[loki\|Loki]] - Logs counterpart +- [[alloy|Alloy]] - Metrics collector +- [[grafana|Grafana]] - Visualization +- [[loki|Loki]] - Logs counterpart diff --git a/docs/reference/services/teslamate.md b/docs/reference/services/teslamate.md index 34b8a66..8d3766f 100644 --- a/docs/reference/services/teslamate.md +++ b/docs/reference/services/teslamate.md @@ -17,7 +17,7 @@ Self-hosted Tesla data logger collecting vehicle telemetry from the Tesla Owner | **Tailscale URL** | https://tesla.tail8d86e.ts.net | | **Namespace** | `teslamate` | | **Image** | `teslamate/teslamate:2.2.0` | -| **Database** | [[postgresql\|PostgreSQL]] | +| **Database** | [[postgresql|PostgreSQL]] | ## Data Collected @@ -53,6 +53,6 @@ Uses Tesla Owner API via OAuth: ## Related -- [[postgresql\|PostgreSQL]] - Data storage -- [[grafana\|Grafana]] - Dashboards -- [[borgmatic\|Borgmatic]] - Database backup +- [[postgresql|PostgreSQL]] - Data storage +- [[grafana|Grafana]] - Dashboards +- [[borgmatic|Borgmatic]] - Database backup diff --git a/docs/reference/services/transmission.md b/docs/reference/services/transmission.md index 7ef6ebc..4aa9849 100644 --- a/docs/reference/services/transmission.md +++ b/docs/reference/services/transmission.md @@ -7,7 +7,7 @@ tags: # Transmission -BitTorrent daemon, primarily for downloading ZIM archives for [[kiwix\|Kiwix]]. +BitTorrent daemon, primarily for downloading ZIM archives for [[kiwix|Kiwix]]. ## Quick Reference @@ -17,7 +17,7 @@ BitTorrent daemon, primarily for downloading ZIM archives for [[kiwix\|Kiwix]]. | **Tailscale URL** | https://torrent.tail8d86e.ts.net | | **Namespace** | `torrent` | | **Image** | `lscr.io/linuxserver/transmission:latest` | -| **Storage** | NFS PVC from [[storage/sifaka\|Sifaka]] | +| **Storage** | NFS PVC from [[storage/sifaka|Sifaka]] | ## Storage Layout @@ -30,7 +30,7 @@ NFS share on sifaka (`/volume1/torrents`): | `/config/` | Transmission configuration | | `/watch/` | Watch directory for .torrent files | -[[kiwix\|Kiwix]] reads from `/downloads/complete/` to serve ZIM archives. +[[kiwix|Kiwix]] reads from `/downloads/complete/` to serve ZIM archives. ## Integration with Kiwix @@ -43,11 +43,11 @@ When downloads complete, the zim-watcher CronJob detects new ZIMs and restarts K ## Monitoring -Basic uptime via blackbox probe in [[alloy\|Alloy]] k8s (Services Health dashboard). +Basic uptime via blackbox probe in [[alloy|Alloy]] k8s (Services Health dashboard). Web UI shows: active/seeding/paused counts, speeds, disk usage. ## Related -- [[kiwix\|Kiwix]] - ZIM archive consumer -- [[storage/sifaka\|Sifaka]] - Download storage +- [[kiwix|Kiwix]] - ZIM archive consumer +- [[storage/sifaka|Sifaka]] - Download storage diff --git a/docs/reference/services/zot.md b/docs/reference/services/zot.md index a09b362..95cd220 100644 --- a/docs/reference/services/zot.md +++ b/docs/reference/services/zot.md @@ -30,7 +30,7 @@ OCI-native container registry providing pull-through cache and private image sto ## Pull-Through Cache -When [[kubernetes/cluster\|minikube]] pulls an image: +When [[kubernetes/cluster|minikube]] pulls an image: 1. Containerd checks zot first (`host.minikube.internal:5050`) 2. If cached, returns immediately 3. If not, zot fetches from upstream, caches, returns @@ -62,5 +62,5 @@ curl -s http://indri:5050/v2/blumeops/devpi/tags/list | jq ## Related -- [[forgejo\|Forgejo]] - Container build CI -- [[kubernetes/cluster\|Cluster]] - Registry consumer +- [[forgejo|Forgejo]] - Container build CI +- [[kubernetes/cluster|Cluster]] - Registry consumer diff --git a/docs/reference/storage/backups.md b/docs/reference/storage/backups.md index c35095e..86b19ea 100644 --- a/docs/reference/storage/backups.md +++ b/docs/reference/storage/backups.md @@ -7,13 +7,13 @@ tags: # Backup Policy -Daily automated backups from [[infrastructure/hosts\|Indri]] to [[storage/sifaka\|Sifaka]] NAS. +Daily automated backups from [[infrastructure/hosts|Indri]] to [[storage/sifaka|Sifaka]] NAS. ## Schedule | Time | Frequency | System | |------|-----------|--------| -| 2:00 AM | Daily | [[services/borgmatic\|Borgmatic]] | +| 2:00 AM | Daily | [[services/borgmatic|Borgmatic]] | ## What Gets Backed Up @@ -31,8 +31,8 @@ Daily automated backups from [[infrastructure/hosts\|Indri]] to [[storage/sifaka | Database | Host | Method | |----------|------|--------| -| miniflux | [[services/postgresql\|pg.ops.eblu.me]] | pg_dump stream | -| teslamate | [[services/postgresql\|pg.ops.eblu.me]] | pg_dump stream | +| miniflux | [[services/postgresql|pg.ops.eblu.me]] | pg_dump stream | +| teslamate | [[services/postgresql|pg.ops.eblu.me]] | pg_dump stream | ## What Is NOT Backed Up @@ -53,16 +53,16 @@ Daily automated backups from [[infrastructure/hosts\|Indri]] to [[storage/sifaka ## Backup Target -Repository: `/Volumes/backups/borg/` on [[storage/sifaka\|Sifaka]] +Repository: `/Volumes/backups/borg/` on [[storage/sifaka|Sifaka]] ## Monitoring -Metrics exposed to [[services/prometheus\|Prometheus]]: +Metrics exposed to [[services/prometheus|Prometheus]]: - `borgmatic_up` - Repository accessible - `borgmatic_last_archive_timestamp` - Last backup time - `borgmatic_repo_deduplicated_size_bytes` - Disk usage -Dashboard: "Borgmatic Backups" in [[services/grafana\|Grafana]] +Dashboard: "Borgmatic Backups" in [[services/grafana|Grafana]] ## Recovery @@ -79,6 +79,6 @@ ssh indri 'mise x -- borgmatic check' ## Related -- [[services/borgmatic\|Borgmatic]] - Backup system details -- [[storage/sifaka\|Sifaka]] - Backup storage -- [[services/postgresql\|PostgreSQL]] - Database backups +- [[services/borgmatic|Borgmatic]] - Backup system details +- [[storage/sifaka|Sifaka]] - Backup storage +- [[services/postgresql|PostgreSQL]] - Database backups diff --git a/docs/reference/storage/sifaka.md b/docs/reference/storage/sifaka.md index 2e18793..df2387c 100644 --- a/docs/reference/storage/sifaka.md +++ b/docs/reference/storage/sifaka.md @@ -21,10 +21,10 @@ Synology NAS providing network storage and backup target. | Share | Path | Purpose | Consumers | |-------|------|---------|-----------| -| backups | `/volume1/backups` | Borg backup repository | [[services/borgmatic\|Borgmatic]] | -| torrents | `/volume1/torrents` | ZIM downloads | [[services/kiwix\|Kiwix]], [[services/transmission\|Transmission]] | -| music | `/volume1/music` | Music library | [[services/navidrome\|Navidrome]] | -| allisonflix | `/volume1/allisonflix` | Video library | [[services/jellyfin\|Jellyfin]] | +| backups | `/volume1/backups` | Borg backup repository | [[services/borgmatic|Borgmatic]] | +| torrents | `/volume1/torrents` | ZIM downloads | [[services/kiwix|Kiwix]], [[services/transmission|Transmission]] | +| music | `/volume1/music` | Music library | [[services/navidrome|Navidrome]] | +| allisonflix | `/volume1/allisonflix` | Video library | [[services/jellyfin|Jellyfin]] | | photos | `/volume1/photos` | Photo library | Immich | ## NFS Exports @@ -36,7 +36,7 @@ Synology NAS providing network storage and backup target. ## Monitoring -Node exporter running in Docker container, scraped by [[services/prometheus\|Prometheus]] at `sifaka:9100`. +Node exporter running in Docker container, scraped by [[services/prometheus|Prometheus]] at `sifaka:9100`. ## Tailscale @@ -45,7 +45,7 @@ Node exporter running in Docker container, scraped by [[services/prometheus\|Pro ## Related -- [[storage/backups\|Backups]] - Backup policy -- [[services/borgmatic\|Borgmatic]] - Backup system -- [[services/jellyfin\|Jellyfin]] - Media consumer -- [[services/navidrome\|Navidrome]] - Music consumer +- [[storage/backups|Backups]] - Backup policy +- [[services/borgmatic|Borgmatic]] - Backup system +- [[services/jellyfin|Jellyfin]] - Media consumer +- [[services/navidrome|Navidrome]] - Music consumer