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 <noreply@anthropic.com>
This commit is contained in:
parent
0018d3c593
commit
649ae15204
24 changed files with 164 additions and 164 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <app> # 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
|
||||
|
|
|
|||
|
|
@ -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/<registry>/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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <app>
|
|||
|
||||
## Related
|
||||
|
||||
- [[kubernetes/apps\|Apps]] - Full application registry
|
||||
- [[forgejo\|Forgejo]] - Git source
|
||||
- [[kubernetes/apps|Apps]] - Full application registry
|
||||
- [[forgejo|Forgejo]] - Git source
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 <item-id> --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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue