From b294caa73400f534f3a13f27558beadd17576037 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Tue, 3 Feb 2026 14:41:55 -0800 Subject: [PATCH] Fix wiki-link paths in reference docs Links like [[services/foo]] need to be [[reference/services/foo]] to resolve correctly from the docs root. Co-Authored-By: Claude Opus 4.5 --- docs/reference/index.md | 62 +++++++++---------- docs/reference/infrastructure/gilbert.md | 4 +- docs/reference/infrastructure/hosts.md | 10 +-- docs/reference/infrastructure/indri.md | 16 ++--- docs/reference/infrastructure/routing.md | 32 +++++----- docs/reference/infrastructure/tailscale.md | 6 +- docs/reference/kubernetes/apps.md | 40 ++++++------ docs/reference/kubernetes/cluster.md | 12 ++-- docs/reference/kubernetes/external-secrets.md | 2 +- docs/reference/operations/backup.md | 6 +- .../reference/operations/disaster-recovery.md | 8 +-- docs/reference/operations/observability.md | 8 +-- docs/reference/services/1password.md | 4 +- docs/reference/services/argocd.md | 6 +- docs/reference/services/borgmatic.md | 6 +- docs/reference/services/forgejo.md | 4 +- docs/reference/services/immich.md | 10 +-- docs/reference/services/jellyfin.md | 2 +- docs/reference/services/kiwix.md | 4 +- 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/transmission.md | 4 +- docs/reference/services/zot.md | 6 +- docs/reference/storage/backups.md | 20 +++--- docs/reference/storage/postgresql.md | 2 +- docs/reference/storage/sifaka.md | 24 +++---- 28 files changed, 168 insertions(+), 168 deletions(-) diff --git a/docs/reference/index.md b/docs/reference/index.md index 0423242..ddcd570 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -14,54 +14,54 @@ Individual service reference cards with URLs and configuration details. | 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/immich|Immich]] | Photo management | 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 | +| [[reference/services/alloy|Alloy]] | Observability collector (metrics & logs) | indri + k8s | +| [[reference/services/argocd|ArgoCD]] | GitOps continuous delivery | k8s | +| [[reference/services/borgmatic|Borgmatic]] | Backup system | indri | +| [[reference/services/1password|1Password]] | Secrets management | cloud + k8s | +| [[reference/services/forgejo|Forgejo]] | Git forge & CI/CD | indri | +| [[reference/services/grafana|Grafana]] | Dashboards & visualization | k8s | +| [[reference/services/immich|Immich]] | Photo management | k8s | +| [[reference/services/jellyfin|Jellyfin]] | Media server | indri | +| [[reference/services/kiwix|Kiwix]] | Offline Wikipedia & ZIM archives | k8s | +| [[reference/services/loki|Loki]] | Log aggregation | k8s | +| [[reference/services/miniflux|Miniflux]] | RSS feed reader | k8s | +| [[reference/services/navidrome|Navidrome]] | Music streaming | k8s | +| [[reference/services/postgresql|PostgreSQL]] | Database cluster | k8s | +| [[reference/services/prometheus|Prometheus]] | Metrics collection | k8s | +| [[reference/services/teslamate|TeslaMate]] | Tesla data logger | k8s | +| [[reference/services/transmission|Transmission]] | BitTorrent daemon | k8s | +| [[reference/services/zot|Zot]] | Container registry | indri | ## Infrastructure Host inventory and network configuration. -- [[infrastructure/hosts|Hosts]] - Device inventory -- [[infrastructure/indri|Indri]] - Primary server -- [[infrastructure/gilbert|Gilbert]] - Development workstation -- [[infrastructure/tailscale|Tailscale]] - ACLs, groups, tags -- [[infrastructure/routing|Routing]] - DNS domains, port mappings +- [[reference/infrastructure/hosts|Hosts]] - Device inventory +- [[reference/infrastructure/indri|Indri]] - Primary server +- [[reference/infrastructure/gilbert|Gilbert]] - Development workstation +- [[reference/infrastructure/tailscale|Tailscale]] - ACLs, groups, tags +- [[reference/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/external-secrets|External Secrets]] - Secrets management +- [[reference/kubernetes/cluster|Cluster]] - Minikube specs, storage, networking +- [[reference/kubernetes/apps|Apps]] - ArgoCD application registry +- [[reference/kubernetes/external-secrets|External Secrets]] - Secrets management ## Storage Network storage and backup configuration. -- [[storage/sifaka|Sifaka]] - Synology NAS configuration -- [[storage/postgresql|PostgreSQL]] - Database cluster -- [[storage/backups|Backups]] - Backup policy and schedule +- [[reference/storage/sifaka|Sifaka]] - Synology NAS configuration +- [[reference/storage/postgresql|PostgreSQL]] - Database cluster +- [[reference/storage/backups|Backups]] - Backup policy and schedule ## Operations Operational concerns and their components. -- [[operations/observability|Observability]] - Metrics, logs, dashboards -- [[operations/backup|Backup]] - Data protection -- [[operations/disaster-recovery|Disaster Recovery]] - Recovery procedures (TBD) +- [[reference/operations/observability|Observability]] - Metrics, logs, dashboards +- [[reference/operations/backup|Backup]] - Data protection +- [[reference/operations/disaster-recovery|Disaster Recovery]] - Recovery procedures (TBD) diff --git a/docs/reference/infrastructure/gilbert.md b/docs/reference/infrastructure/gilbert.md index 01b1b65..4438331 100644 --- a/docs/reference/infrastructure/gilbert.md +++ b/docs/reference/infrastructure/gilbert.md @@ -23,5 +23,5 @@ Managed via `Brewfile` and `mise.toml` in the blumeops repo. ## Related -- [[infrastructure/indri|Indri]] - Server accessed from gilbert -- [[kubernetes/cluster|Cluster]] - Remote k8s access +- [[reference/infrastructure/indri|Indri]] - Server accessed from gilbert +- [[reference/kubernetes/cluster|Cluster]] - Remote k8s access diff --git a/docs/reference/infrastructure/hosts.md b/docs/reference/infrastructure/hosts.md index 7b89345..4efd9e8 100644 --- a/docs/reference/infrastructure/hosts.md +++ b/docs/reference/infrastructure/hosts.md @@ -12,14 +12,14 @@ All devices connected via [Tailscale](https://login.tailscale.com/) tailnet `tai | Host | Description | Card | |------|-------------|------| -| **Indri** | Mac Mini M1, 2020 - Primary server | [[infrastructure/indri|Details]] | -| **Gilbert** | MacBook Air M4, 2025 - Workstation | [[infrastructure/gilbert|Details]] | -| **[[storage/sifaka|Sifaka]]** | Synology NAS - Storage & backups | [[storage/sifaka|Details]] | +| **Indri** | Mac Mini M1, 2020 - Primary server | [[reference/infrastructure/indri|Details]] | +| **Gilbert** | MacBook Air M4, 2025 - Workstation | [[reference/infrastructure/gilbert|Details]] | +| **[[reference/storage/sifaka|Sifaka]]** | Synology NAS - Storage & backups | [[reference/storage/sifaka|Details]] | | **Mouse** | MacBook Air M2 - Allison's laptop | - | | **UniFi** | UniFi Express 7 - Home WiFi | - | | **Dwarf** | iPad Air - Employer-provided, off tailnet | - | ## Related -- [[infrastructure/tailscale|Tailscale]] - Network configuration -- [[infrastructure/routing|Routing]] - Service URLs +- [[reference/infrastructure/tailscale|Tailscale]] - Network configuration +- [[reference/infrastructure/routing|Routing]] - Service URLs diff --git a/docs/reference/infrastructure/indri.md b/docs/reference/infrastructure/indri.md index d5215a1..6d50f3d 100644 --- a/docs/reference/infrastructure/indri.md +++ b/docs/reference/infrastructure/indri.md @@ -22,17 +22,17 @@ Primary BlumeOps server. Mac Mini M1 (2020). ## 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 +- [[reference/services/forgejo|Forgejo]] - Git forge +- [[reference/services/zot|Zot]] - Container registry +- [[reference/services/jellyfin|Jellyfin]] - Media server +- [[reference/services/borgmatic|Borgmatic]] - Backup system +- [[reference/services/alloy|Alloy]] - Metrics/logs collector - Caddy - Reverse proxy for `*.ops.eblu.me` **Kubernetes (via minikube):** -- [[kubernetes/apps|All k8s applications]] +- [[reference/kubernetes/apps|All k8s applications]] ## Related -- [[infrastructure/routing|Routing]] - Port mappings -- [[kubernetes/cluster|Cluster]] - Minikube details +- [[reference/infrastructure/routing|Routing]] - Port mappings +- [[reference/kubernetes/cluster|Cluster]] - Minikube details diff --git a/docs/reference/infrastructure/routing.md b/docs/reference/infrastructure/routing.md index 23e90f7..e98d094 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 | +| [[reference/services/forgejo|Forgejo]] | https://forge.ops.eblu.me | Git hosting (SSH: 2222) | +| [[reference/services/zot|Zot]] | https://registry.ops.eblu.me | Container registry | +| [[reference/services/grafana|Grafana]] | https://grafana.ops.eblu.me | Dashboards | +| [[reference/services/argocd|ArgoCD]] | https://argocd.ops.eblu.me | GitOps CD | +| [[reference/services/prometheus|Prometheus]] | https://prometheus.ops.eblu.me | Metrics | +| [[reference/services/loki|Loki]] | https://loki.ops.eblu.me | Logs | +| [[reference/services/miniflux|Miniflux]] | https://feed.ops.eblu.me | RSS reader | +| [[reference/services/kiwix|Kiwix]] | https://kiwix.ops.eblu.me | Offline Wikipedia | +| [[reference/services/transmission|Transmission]] | https://torrent.ops.eblu.me | BitTorrent | +| [[reference/services/teslamate|TeslaMate]] | https://tesla.ops.eblu.me | Tesla logger | +| [[reference/services/navidrome|Navidrome]] | https://dj.ops.eblu.me | Music streaming | +| [[reference/services/jellyfin|Jellyfin]] | https://jellyfin.ops.eblu.me | Media server | +| [[reference/services/postgresql|PostgreSQL]] | pg.ops.eblu.me:5432 | Database | +| [[reference/storage/sifaka|Sifaka]] | https://nas.ops.eblu.me | NAS dashboard | ## Tailscale-Only Services @@ -61,5 +61,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/indri|Indri]] - Where services run +- [[reference/infrastructure/tailscale|Tailscale]] - ACL configuration +- [[reference/infrastructure/indri|Indri]] - Where services run diff --git a/docs/reference/infrastructure/tailscale.md b/docs/reference/infrastructure/tailscale.md index 21688ca..ab68246 100644 --- a/docs/reference/infrastructure/tailscale.md +++ b/docs/reference/infrastructure/tailscale.md @@ -17,7 +17,7 @@ ACLs managed via Pulumi in `pulumi/policy.hujson`. | Group | Members | Purpose | |-------|---------|---------| -| `group:allisonflix` | admin, member | [[services/jellyfin|Jellyfin]] media access | +| `group:allisonflix` | admin, member | [[reference/services/jellyfin|Jellyfin]] media access | ## Device Tags @@ -58,5 +58,5 @@ Pulumi uses OAuth client from 1Password (blumeops vault): ## Related -- [[infrastructure/routing|Routing]] - Service URLs -- [[infrastructure/hosts|Hosts]] - Device inventory +- [[reference/infrastructure/routing|Routing]] - Service URLs +- [[reference/infrastructure/hosts|Hosts]] - Device inventory diff --git a/docs/reference/kubernetes/apps.md b/docs/reference/kubernetes/apps.md index 149d685..3210634 100644 --- a/docs/reference/kubernetes/apps.md +++ b/docs/reference/kubernetes/apps.md @@ -7,33 +7,33 @@ tags: # ArgoCD Applications -Registry of all applications deployed via [[services/argocd|ArgoCD]]. +Registry of all applications deployed via [[reference/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/` | [[reference/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/` | [[reference/services/1password|1Password]] | +| `external-secrets` | external-secrets | Helm chart | [[reference/services/1password|1Password]] | +| `external-secrets-config` | external-secrets | `argocd/manifests/external-secrets-config/` | [[reference/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]] | -| `immich` | immich | Helm chart | [[services/immich|Immich]] | -| `alloy-k8s` | alloy | `argocd/manifests/alloy-k8s/` | [[services/alloy|Alloy]] | +| `blumeops-pg` | databases | `argocd/manifests/databases/` | [[reference/services/postgresql|PostgreSQL]] | +| `prometheus` | monitoring | `argocd/manifests/prometheus/` | [[reference/services/prometheus|Prometheus]] | +| `loki` | monitoring | `argocd/manifests/loki/` | [[reference/services/loki|Loki]] | +| `grafana` | monitoring | Helm chart (forge mirror) | [[reference/services/grafana|Grafana]] | +| `grafana-config` | monitoring | `argocd/manifests/grafana-config/` | [[reference/services/grafana|Grafana]] | +| `immich` | immich | Helm chart | [[reference/services/immich|Immich]] | +| `alloy-k8s` | alloy | `argocd/manifests/alloy-k8s/` | [[reference/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/` | [[reference/services/miniflux|Miniflux]] | +| `kiwix` | kiwix | `argocd/manifests/kiwix/` | [[reference/services/kiwix|Kiwix]] | +| `torrent` | torrent | `argocd/manifests/torrent/` | [[reference/services/transmission|Transmission]] | +| `navidrome` | navidrome | `argocd/manifests/navidrome/` | [[reference/services/navidrome|Navidrome]] | +| `teslamate` | teslamate | `argocd/manifests/teslamate/` | [[reference/services/teslamate|TeslaMate]] | +| `forgejo-runner` | forgejo-runner | `argocd/manifests/forgejo-runner/` | [[reference/services/forgejo|Forgejo]] CI | ## Sync Policies @@ -44,5 +44,5 @@ Registry of all applications deployed via [[services/argocd|ArgoCD]]. ## Related -- [[services/argocd|ArgoCD]] - GitOps platform details -- [[kubernetes/cluster|Cluster]] - Kubernetes infrastructure +- [[reference/services/argocd|ArgoCD]] - GitOps platform details +- [[reference/kubernetes/cluster|Cluster]] - Kubernetes infrastructure diff --git a/docs/reference/kubernetes/cluster.md b/docs/reference/kubernetes/cluster.md index abfb828..2b6f1d3 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/indri|Indri]]. +Single-node Minikube cluster running on [[reference/infrastructure/indri|Indri]]. ## Cluster Specifications @@ -24,16 +24,16 @@ Single-node Minikube cluster running on [[infrastructure/indri|Indri]]. ## Volume Mounting -Pods mount NFS directly from [[storage/sifaka|Sifaka]]. Docker NATs outbound traffic through indri's LAN IP (192.168.1.50), allowing access to Sifaka's NFS exports. +Pods mount NFS directly from [[reference/storage/sifaka|Sifaka]]. Docker NATs outbound traffic through indri's LAN IP (192.168.1.50), allowing access to Sifaka's NFS exports. ## Registry Mirror -Containerd uses [[services/zot|Zot]] as a pull-through cache at `host.minikube.internal:5050`. +Containerd uses [[reference/services/zot|Zot]] as a pull-through cache at `host.minikube.internal:5050`. Mirrors configured: `registry.ops.eblu.me`, `docker.io`, `ghcr.io`, `quay.io` ## Related -- [[kubernetes/apps|Apps]] - ArgoCD applications -- [[services/argocd|ArgoCD]] - GitOps deployment -- [[services/zot|Zot]] - Registry mirror +- [[reference/kubernetes/apps|Apps]] - ArgoCD applications +- [[reference/services/argocd|ArgoCD]] - GitOps deployment +- [[reference/services/zot|Zot]] - Registry mirror diff --git a/docs/reference/kubernetes/external-secrets.md b/docs/reference/kubernetes/external-secrets.md index aa97fdb..ac7f0ff 100644 --- a/docs/reference/kubernetes/external-secrets.md +++ b/docs/reference/kubernetes/external-secrets.md @@ -7,4 +7,4 @@ tags: # External Secrets -See [[services/1password|1Password]] in Services. +See [[reference/services/1password|1Password]] in Services. diff --git a/docs/reference/operations/backup.md b/docs/reference/operations/backup.md index da79caa..4053b6e 100644 --- a/docs/reference/operations/backup.md +++ b/docs/reference/operations/backup.md @@ -10,6 +10,6 @@ Daily automated backups of BlumeOps data. ## Components -- [[services/borgmatic|Borgmatic]] - Backup orchestration -- [[storage/sifaka|Sifaka]] - Backup target (NAS) -- [[storage/backups|Backup Policy]] - What gets backed up and retention +- [[reference/services/borgmatic|Borgmatic]] - Backup orchestration +- [[reference/storage/sifaka|Sifaka]] - Backup target (NAS) +- [[reference/storage/backups|Backup Policy]] - What gets backed up and retention diff --git a/docs/reference/operations/disaster-recovery.md b/docs/reference/operations/disaster-recovery.md index e110a30..406ac67 100644 --- a/docs/reference/operations/disaster-recovery.md +++ b/docs/reference/operations/disaster-recovery.md @@ -8,12 +8,12 @@ tags: TBD. Current state: -- [[services/borgmatic|Borgmatic]] provides daily backups to [[storage/sifaka|Sifaka]] +- [[reference/services/borgmatic|Borgmatic]] provides daily backups to [[reference/storage/sifaka|Sifaka]] - Infrastructure can be rebootstrapped using the blumeops repo - Detailed DR procedures not yet documented ## Components -- [[services/borgmatic|Borgmatic]] - Backup restoration -- [[services/1password|1Password]] - Credential recovery -- [[services/forgejo|Forgejo]] - Source of truth for infrastructure code +- [[reference/services/borgmatic|Borgmatic]] - Backup restoration +- [[reference/services/1password|1Password]] - Credential recovery +- [[reference/services/forgejo|Forgejo]] - Source of truth for infrastructure code diff --git a/docs/reference/operations/observability.md b/docs/reference/operations/observability.md index 388ae47..613b071 100644 --- a/docs/reference/operations/observability.md +++ b/docs/reference/operations/observability.md @@ -10,7 +10,7 @@ Metrics, logs, and dashboards for BlumeOps infrastructure. ## Components -- [[services/prometheus|Prometheus]] - Metrics storage and querying -- [[services/loki|Loki]] - Log aggregation -- [[services/alloy|Alloy]] - Metrics and log collection -- [[services/grafana|Grafana]] - Dashboards and visualization +- [[reference/services/prometheus|Prometheus]] - Metrics storage and querying +- [[reference/services/loki|Loki]] - Log aggregation +- [[reference/services/alloy|Alloy]] - Metrics and log collection +- [[reference/services/grafana|Grafana]] - Dashboards and visualization diff --git a/docs/reference/services/1password.md b/docs/reference/services/1password.md index 0be5940..b97681a 100644 --- a/docs/reference/services/1password.md +++ b/docs/reference/services/1password.md @@ -36,5 +36,5 @@ Services reference 1Password items via `ExternalSecret` manifests. ## Related -- [[services/argocd|ArgoCD]] - Uses secrets for git access -- [[services/postgresql|PostgreSQL]] - Database credentials +- [[reference/services/argocd|ArgoCD]] - Uses secrets for git access +- [[reference/services/postgresql|PostgreSQL]] - Database credentials diff --git a/docs/reference/services/argocd.md b/docs/reference/services/argocd.md index 4934d69..ceea331 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 [[reference/kubernetes/cluster|Kubernetes cluster]]. ## Quick Reference @@ -33,5 +33,5 @@ GitOps continuous delivery platform for the [[kubernetes/cluster|Kubernetes clus ## Related -- [[kubernetes/apps|Apps]] - Full application registry -- [[services/forgejo|Forgejo]] - Git source +- [[reference/kubernetes/apps|Apps]] - Full application registry +- [[reference/services/forgejo|Forgejo]] - Git source diff --git a/docs/reference/services/borgmatic.md b/docs/reference/services/borgmatic.md index da84c6e..8895538 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 [[reference/storage/sifaka|Sifaka]] | ## What Gets Backed Up @@ -55,6 +55,6 @@ Dashboard: "Borgmatic Backups" in [[grafana|Grafana]] ## Related -- [[storage/backups|Backups]] - Full backup policy -- [[storage/sifaka|Sifaka]] - Backup target +- [[reference/storage/backups|Backups]] - Full backup policy +- [[reference/storage/sifaka|Sifaka]] - Backup target - [[postgresql|PostgreSQL]] - Database backups diff --git a/docs/reference/services/forgejo.md b/docs/reference/services/forgejo.md index 3c4b705..0889efa 100644 --- a/docs/reference/services/forgejo.md +++ b/docs/reference/services/forgejo.md @@ -44,5 +44,5 @@ Managed via 1Password: `lfs-jwt-secret`, `internal-token`, `oauth2-jwt-secret`, ## Related -- [[services/argocd|ArgoCD]] - Uses Forgejo as git source -- [[services/zot|Zot]] - Container registry for built images +- [[reference/services/argocd|ArgoCD]] - Uses Forgejo as git source +- [[reference/services/zot|Zot]] - Container registry for built images diff --git a/docs/reference/services/immich.md b/docs/reference/services/immich.md index 0c4ba00..6d53894 100644 --- a/docs/reference/services/immich.md +++ b/docs/reference/services/immich.md @@ -16,11 +16,11 @@ Self-hosted photo and video management. | **URL** | https://photos.ops.eblu.me | | **Namespace** | `immich` | | **Deployment** | Helm chart (k8s) | -| **Database** | [[services/postgresql|PostgreSQL]] (CNPG) | -| **Storage** | [[storage/sifaka|Sifaka]] photos volume | +| **Database** | [[reference/services/postgresql|PostgreSQL]] (CNPG) | +| **Storage** | [[reference/storage/sifaka|Sifaka]] photos volume | ## Related -- [[services/postgresql|PostgreSQL]] - Database backend -- [[storage/sifaka|Sifaka]] - Photo storage -- [[services/jellyfin|Jellyfin]] - Video streaming (separate service) +- [[reference/services/postgresql|PostgreSQL]] - Database backend +- [[reference/storage/sifaka|Sifaka]] - Photo storage +- [[reference/services/jellyfin|Jellyfin]] - Video streaming (separate service) diff --git a/docs/reference/services/jellyfin.md b/docs/reference/services/jellyfin.md index 5ff0e51..eea7c21 100644 --- a/docs/reference/services/jellyfin.md +++ b/docs/reference/services/jellyfin.md @@ -48,4 +48,4 @@ Dashboard > Playback: ## Related - [[navidrome|Navidrome]] - Music streaming -- [[storage/sifaka|Sifaka]] - Media storage +- [[reference/storage/sifaka|Sifaka]] - Media storage diff --git a/docs/reference/services/kiwix.md b/docs/reference/services/kiwix.md index 1b6e5f7..89b2a3a 100644 --- a/docs/reference/services/kiwix.md +++ b/docs/reference/services/kiwix.md @@ -17,7 +17,7 @@ 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 [[reference/storage/sifaka|Sifaka]] (`/volume1/torrents`) | ## Architecture @@ -49,4 +49,4 @@ Full list: `argocd/manifests/kiwix/configmap-zim-torrents.yaml` ## Related - [[transmission|Transmission]] - Downloads ZIM files -- [[storage/sifaka|Sifaka]] - ZIM storage +- [[reference/storage/sifaka|Sifaka]] - ZIM storage diff --git a/docs/reference/services/miniflux.md b/docs/reference/services/miniflux.md index 2b4f0f7..f68bf37 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** | [[services/postgresql|PostgreSQL]] | +| **Database** | [[reference/services/postgresql|PostgreSQL]] | ## Features @@ -33,9 +33,9 @@ Uses CloudNativePG cluster at `pg.ops.eblu.me`. Database user password stored in ## Backup -Feed subscriptions and read state backed up via [[services/borgmatic|Borgmatic]] PostgreSQL hook. +Feed subscriptions and read state backed up via [[reference/services/borgmatic|Borgmatic]] PostgreSQL hook. ## Related -- [[services/postgresql|PostgreSQL]] - Database backend -- [[services/borgmatic|Borgmatic]] - Data backup +- [[reference/services/postgresql|PostgreSQL]] - Database backend +- [[reference/services/borgmatic|Borgmatic]] - Data backup diff --git a/docs/reference/services/navidrome.md b/docs/reference/services/navidrome.md index e3f46b7..3144403 100644 --- a/docs/reference/services/navidrome.md +++ b/docs/reference/services/navidrome.md @@ -38,5 +38,5 @@ The `/data` directory contains SQLite database, configuration, and cache. ## Related -- [[services/jellyfin|Jellyfin]] - Video streaming -- [[storage/sifaka|Sifaka]] - Music storage +- [[reference/services/jellyfin|Jellyfin]] - Video streaming +- [[reference/storage/sifaka|Sifaka]] - Music storage diff --git a/docs/reference/services/postgresql.md b/docs/reference/services/postgresql.md index c8b412c..c254249 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 | [[services/miniflux|Miniflux]] feed data | -| teslamate | teslamate | [[services/teslamate|TeslaMate]] vehicle data | +| miniflux | miniflux | [[reference/services/miniflux|Miniflux]] feed data | +| teslamate | teslamate | [[reference/services/teslamate|TeslaMate]] vehicle data | ## Users @@ -34,11 +34,11 @@ 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 | [[services/borgmatic|Backup]] access | +| borgmatic | pg_read_all_data | [[reference/services/borgmatic|Backup]] access | ## Backup -Backed up via [[services/borgmatic|Borgmatic]] `postgresql_databases` hook. Streams `pg_dump` directly to Borg (no intermediate files, no downtime). See [[operations/backup|Backup]] for overall backup policy. +Backed up via [[reference/services/borgmatic|Borgmatic]] `postgresql_databases` hook. Streams `pg_dump` directly to Borg (no intermediate files, no downtime). See [[reference/operations/backup|Backup]] for overall backup policy. ## Credentials @@ -54,6 +54,6 @@ Backed up via [[services/borgmatic|Borgmatic]] `postgresql_databases` hook. Stre ## Related -- [[services/miniflux|Miniflux]] - Feed reader database -- [[services/teslamate|TeslaMate]] - Vehicle data database -- [[services/borgmatic|Borgmatic]] - Database backup +- [[reference/services/miniflux|Miniflux]] - Feed reader database +- [[reference/services/teslamate|TeslaMate]] - Vehicle data database +- [[reference/services/borgmatic|Borgmatic]] - Database backup diff --git a/docs/reference/services/prometheus.md b/docs/reference/services/prometheus.md index 86a95c3..3b6b32f 100644 --- a/docs/reference/services/prometheus.md +++ b/docs/reference/services/prometheus.md @@ -23,19 +23,19 @@ Metrics storage and querying for BlumeOps infrastructure. ## Data Sources ### Remote Write (from Alloy) -- Indri system metrics via [[services/alloy|Alloy]] remote_write +- Indri system metrics via [[reference/services/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` | [[services/postgresql|CloudNativePG]] metrics | +| `sifaka:9100` | [[reference/storage/sifaka|Sifaka]] NAS (node_exporter) | +| `cnpg-metrics.tail8d86e.ts.net:9187` | [[reference/services/postgresql|CloudNativePG]] metrics | | `kube-state-metrics.monitoring.svc:8080` | Kubernetes resource metrics | ## Related -- [[services/alloy|Alloy]] - Metrics collector -- [[services/grafana|Grafana]] - Visualization -- [[services/loki|Loki]] - Logs counterpart +- [[reference/services/alloy|Alloy]] - Metrics collector +- [[reference/services/grafana|Grafana]] - Visualization +- [[reference/services/loki|Loki]] - Logs counterpart diff --git a/docs/reference/services/transmission.md b/docs/reference/services/transmission.md index 4aa9849..0676431 100644 --- a/docs/reference/services/transmission.md +++ b/docs/reference/services/transmission.md @@ -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 [[reference/storage/sifaka|Sifaka]] | ## Storage Layout @@ -50,4 +50,4 @@ Web UI shows: active/seeding/paused counts, speeds, disk usage. ## Related - [[kiwix|Kiwix]] - ZIM archive consumer -- [[storage/sifaka|Sifaka]] - Download storage +- [[reference/storage/sifaka|Sifaka]] - Download storage diff --git a/docs/reference/services/zot.md b/docs/reference/services/zot.md index 1da1d3e..d40b452 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, containerd checks zot first. If cached, returns immediately. If not, zot fetches from upstream, caches it, then returns. +When [[reference/kubernetes/cluster|minikube]] pulls an image, containerd checks zot first. If cached, returns immediately. If not, zot fetches from upstream, caches it, then returns. ## Security Model @@ -38,5 +38,5 @@ Network access only (no authentication). Defense is the Tailscale ACL boundary. ## Related -- [[services/forgejo|Forgejo]] - Container build CI -- [[kubernetes/cluster|Cluster]] - Registry consumer +- [[reference/services/forgejo|Forgejo]] - Container build CI +- [[reference/kubernetes/cluster|Cluster]] - Registry consumer diff --git a/docs/reference/storage/backups.md b/docs/reference/storage/backups.md index 81c608f..880c056 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/indri|Indri]] to [[storage/sifaka|Sifaka]] NAS. +Daily automated backups from [[reference/infrastructure/indri|Indri]] to [[reference/storage/sifaka|Sifaka]] NAS. ## Schedule | Time | Frequency | System | |------|-----------|--------| -| 2:00 AM | Daily | [[services/borgmatic|Borgmatic]] | +| 2:00 AM | Daily | [[reference/services/borgmatic|Borgmatic]] | ## What Gets Backed Up @@ -31,8 +31,8 @@ Daily automated backups from [[infrastructure/indri|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 | [[reference/services/postgresql|pg.ops.eblu.me]] | pg_dump stream | +| teslamate | [[reference/services/postgresql|pg.ops.eblu.me]] | pg_dump stream | ## What Is NOT Backed Up @@ -53,19 +53,19 @@ Daily automated backups from [[infrastructure/indri|Indri]] to [[storage/sifaka| ## Backup Target -Repository: `/Volumes/backups/borg/` on [[storage/sifaka|Sifaka]] +Repository: `/Volumes/backups/borg/` on [[reference/storage/sifaka|Sifaka]] ## Monitoring -Metrics exposed to [[services/prometheus|Prometheus]]: +Metrics exposed to [[reference/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 [[reference/services/grafana|Grafana]] ## Related -- [[services/borgmatic|Borgmatic]] - Backup system details -- [[storage/sifaka|Sifaka]] - Backup storage -- [[services/postgresql|PostgreSQL]] - Database backups +- [[reference/services/borgmatic|Borgmatic]] - Backup system details +- [[reference/storage/sifaka|Sifaka]] - Backup storage +- [[reference/services/postgresql|PostgreSQL]] - Database backups diff --git a/docs/reference/storage/postgresql.md b/docs/reference/storage/postgresql.md index e1f965e..f6e3695 100644 --- a/docs/reference/storage/postgresql.md +++ b/docs/reference/storage/postgresql.md @@ -7,4 +7,4 @@ tags: # PostgreSQL -See [[services/postgresql|PostgreSQL]] in Services. +See [[reference/services/postgresql|PostgreSQL]] in Services. diff --git a/docs/reference/storage/sifaka.md b/docs/reference/storage/sifaka.md index e17083e..b4d2235 100644 --- a/docs/reference/storage/sifaka.md +++ b/docs/reference/storage/sifaka.md @@ -21,11 +21,11 @@ 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]] | -| photos | `/volume1/photos` | Photo library | [[services/immich|Immich]] | +| backups | `/volume1/backups` | Borg backup repository | [[reference/services/borgmatic|Borgmatic]] | +| torrents | `/volume1/torrents` | ZIM downloads | [[reference/services/kiwix|Kiwix]], [[reference/services/transmission|Transmission]] | +| music | `/volume1/music` | Music library | [[reference/services/navidrome|Navidrome]] | +| allisonflix | `/volume1/allisonflix` | Video library | [[reference/services/jellyfin|Jellyfin]] | +| photos | `/volume1/photos` | Photo library | [[reference/services/immich|Immich]] | ## NFS Exports @@ -37,7 +37,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 [[reference/services/prometheus|Prometheus]] at `sifaka:9100`. ## Tailscale @@ -46,14 +46,14 @@ Node exporter running in Docker container, scraped by [[services/prometheus|Prom ## Backup -Sifaka is the **target** for [[operations/backup|backups]], not a backup source. [[services/borgmatic|Borgmatic]] sends backups TO sifaka, not OF sifaka. +Sifaka is the **target** for [[reference/operations/backup|backups]], not a backup source. [[reference/services/borgmatic|Borgmatic]] sends backups TO sifaka, not OF sifaka. Data protection for sifaka itself currently relies on the Synology RAID 5 configuration, which provides single-disk fault tolerance. Future plans include offsite duplication for additional resiliency. ## Related -- [[storage/backups|Backups]] - Backup policy -- [[services/borgmatic|Borgmatic]] - Backup system -- [[services/immich|Immich]] - Photo consumer -- [[services/jellyfin|Jellyfin]] - Media consumer -- [[services/navidrome|Navidrome]] - Music consumer +- [[reference/storage/backups|Backups]] - Backup policy +- [[reference/services/borgmatic|Borgmatic]] - Backup system +- [[reference/services/immich|Immich]] - Photo consumer +- [[reference/services/jellyfin|Jellyfin]] - Media consumer +- [[reference/services/navidrome|Navidrome]] - Music consumer