Switch to title-based wiki-links (#91)

## Summary
- Remove aliases from all zk cards to prevent them from capturing wiki-links
- Convert all wiki-links from `[[filename|Title]]` to `[[Title]]` format
- Replace `doc-filenames` task with `doc-titles` for duplicate title detection
- Update pre-commit hook to use `doc-titles`

Wiki-links now resolve to reference docs by their frontmatter title, which is more readable and maintainable than filename-based links.

## Deployment and Testing
- [x] Pre-commit hooks pass (including new `doc-titles` check)
- [x] Manually verified zk cards have aliases removed
- [ ] Deploy docs v1.0.7 and verify wiki-links resolve correctly
- [ ] Test links to reference docs (e.g., [[Grafana Alloy]], [[ArgoCD]])

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

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/91
This commit is contained in:
Erich Blume 2026-02-03 15:55:31 -08:00
commit 01adc4cf0f
56 changed files with 501 additions and 431 deletions

View file

@ -7,13 +7,13 @@ tags:
# Backup Policy
Daily automated backups from [[indri|Indri]] to [[sifaka|Sifaka]] NAS.
Daily automated backups from [[Indri]] to [[Sifaka NAS|Sifaka]] NAS.
## Schedule
| Time | Frequency | System |
|------|-----------|--------|
| 2:00 AM | Daily | [[borgmatic|Borgmatic]] |
| 2:00 AM | Daily | [[Borgmatic]] |
## What Gets Backed Up
@ -31,8 +31,8 @@ Daily automated backups from [[indri|Indri]] to [[sifaka|Sifaka]] NAS.
| Database | Host | Method |
|----------|------|--------|
| miniflux | [[postgresql|pg.ops.eblu.me]] | pg_dump stream |
| teslamate | [[postgresql|pg.ops.eblu.me]] | pg_dump stream |
| miniflux | [[PostgreSQL|pg.ops.eblu.me]] | pg_dump stream |
| teslamate | [[PostgreSQL|pg.ops.eblu.me]] | pg_dump stream |
## What Is NOT Backed Up
@ -53,19 +53,19 @@ Daily automated backups from [[indri|Indri]] to [[sifaka|Sifaka]] NAS.
## Backup Target
Repository: `/Volumes/backups/borg/` on [[sifaka|Sifaka]]
Repository: `/Volumes/backups/borg/` on [[Sifaka NAS|Sifaka]]
## Monitoring
Metrics exposed to [[prometheus|Prometheus]]:
Metrics exposed to [[Prometheus]]:
- `borgmatic_up` - Repository accessible
- `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]]
## Related
- [[borgmatic|Borgmatic]] - Backup system details
- [[sifaka|Sifaka]] - Backup storage
- [[postgresql|PostgreSQL]] - Database backups
- [[Borgmatic]] - Backup system details
- [[Sifaka NAS|Sifaka]] - Backup storage
- [[PostgreSQL]] - Database backups

View file

@ -7,4 +7,4 @@ tags:
# PostgreSQL Storage
See [[postgresql|PostgreSQL]] in Services.
See [[PostgreSQL]] in Services.

View file

@ -21,11 +21,11 @@ Synology NAS providing network storage and backup target.
| Share | Path | Purpose | Consumers |
|-------|------|---------|-----------|
| backups | `/volume1/backups` | Borg backup repository | [[borgmatic|Borgmatic]] |
| torrents | `/volume1/torrents` | ZIM downloads | [[kiwix|Kiwix]], [[transmission|Transmission]] |
| music | `/volume1/music` | Music library | [[navidrome|Navidrome]] |
| allisonflix | `/volume1/allisonflix` | Video library | [[jellyfin|Jellyfin]] |
| photos | `/volume1/photos` | Photo library | [[immich|Immich]] |
| backups | `/volume1/backups` | Borg backup repository | [[Borgmatic]] |
| torrents | `/volume1/torrents` | ZIM downloads | [[Kiwix]], [[Transmission]] |
| music | `/volume1/music` | Music library | [[Navidrome]] |
| allisonflix | `/volume1/allisonflix` | Video library | [[Jellyfin]] |
| photos | `/volume1/photos` | Photo library | [[Immich]] |
## NFS Exports
@ -37,7 +37,7 @@ Synology NAS providing network storage and backup target.
## Monitoring
Node exporter running in Docker container, scraped by [[prometheus|Prometheus]] at `sifaka:9100`.
Node exporter running in Docker container, scraped by [[Prometheus]] at `sifaka:9100`.
## Tailscale
@ -46,14 +46,14 @@ Node exporter running in Docker container, scraped by [[prometheus|Prometheus]]
## Backup
Sifaka is the **target** for [[backup|backups]], not a backup source. [[borgmatic|Borgmatic]] sends backups TO sifaka, not OF sifaka.
Sifaka is the **target** for [[Backup|backups]], not a backup source. [[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
- [[backups|Backups]] - Backup policy
- [[borgmatic|Borgmatic]] - Backup system
- [[immich|Immich]] - Photo consumer
- [[jellyfin|Jellyfin]] - Media consumer
- [[navidrome|Navidrome]] - Music consumer
- [[Backup Policy|Backups]] - Backup policy
- [[Borgmatic]] - Backup system
- [[Immich]] - Photo consumer
- [[Jellyfin]] - Media consumer
- [[Navidrome]] - Music consumer