## Summary - Rename `date-modified` -> `modified` in all 80 docs and the `docs-check-frontmatter` task Quartz's `CreatedModifiedDate` plugin recognizes `modified`, `lastmod`, `updated`, and `last-modified` — but not `date-modified`. The wrong field name caused Quartz to ignore frontmatter dates entirely and fall through to filesystem timestamps (UTC inside Dagger), showing Feb 12 on pages built late on Feb 11 PST. ## Test plan - [x] `mise run docs-check-frontmatter` passes - [ ] Kick off docs release after merge — verify rendered dates match frontmatter values Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/158
2.3 KiB
2.3 KiB
| title | modified | tags | ||
|---|---|---|---|---|
| Alloy | 2026-02-08 |
|
Grafana Alloy
Unified observability collector for metrics and logs with three deployments:
- Indri (host) - System metrics and service logs from macOS host
- Kubernetes (DaemonSet) - Automatic pod log collection and service health probes
- Fly.io proxy (embedded) - nginx access log metrics and log forwarding from flyio-proxy
Quick Reference
| Property | Value |
|---|---|
| Indri Binary | ~/.local/bin/alloy |
| Indri Config | ~/.config/grafana-alloy/config.alloy |
| K8s Namespace | alloy |
| K8s Image | grafana/alloy:v1.8.2 |
| ArgoCD App | alloy-k8s |
| Fly.io Config | fly/alloy.river |
| Fly.io Image | grafana/alloy:v1.5.1 (binary copied into nginx container) |
Metrics Collected
From Indri
- 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 via remote_write
From Kubernetes
- All pod logs via
loki.source.kubernetes - Service health probes: miniflux, kiwix, transmission, devpi, argocd
From Fly.io Proxy
flyio_nginx_http_requests_total— request rate by status/method/hostflyio_nginx_http_request_duration_seconds— latency histogramflyio_nginx_http_response_bytes_total— response bandwidthflyio_nginx_cache_requests_total— cache HIT/MISS/EXPIRED counts- Pushed to prometheus via remote_write through caddy
Logs Collected
Brew services: forgejo, tailscale
mcquack LaunchAgents: alloy, borgmatic, zot, jellyfin
Logs pushed to loki at https://loki.tail8d86e.ts.net/loki/api/v1/push.
Fly.io proxy: nginx JSON access logs pushed to loki at https://loki.ops.eblu.me/loki/api/v1/push (via caddy).
Why Built from Source
The Homebrew bottle uses CGO_ENABLED=0, which breaks Tailscale MagicDNS. Building with CGO_ENABLED=1 uses the macOS native resolver.
Note: This may no longer be needed now that services use *.ops.eblu.me URLs (routed via Caddy) instead of *.tail8d86e.ts.net. Should be tested in the future.
Related
- prometheus - Metrics storage
- loki - Log storage
- grafana - Visualization