blumeops/docs/reference/services/docs.md
Erich Blume 06e721841c Review 12 reference docs: fix stale image refs, expand stubs, add cross-refs
Replace hardcoded image tags in Quick Reference tables with pointers to
kustomization manifests (tags drift with every container release). Fix
Prometheus CNPG scrape target, remove misleading .ts.net URLs, expand
external-secrets stub, add backup/disaster-recovery cross-references.
Limit doc-reviewer agent to one doc per cycle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:51:57 -07:00

1.6 KiB

title modified last-reviewed tags
Docs 2026-03-23 2026-03-23
service
documentation

Docs (Quartz)

Documentation site built with Quartz and served via nginx.

Quick Reference

Property Value
Public URL https://docs.eblu.me
Private URL docs.ops.eblu.me (tailnet only, via caddy)
Namespace docs
Image registry.ops.eblu.me/blumeops/quartz (see argocd/manifests/docs/kustomization.yaml for current tag)
Source docs/ directory in blumeops repo
Build Forgejo workflow build-blumeops.yaml
Public proxy flyio-proxy (Fly.io → Tailscale tunnel)

Architecture

  1. Source: Markdown files in docs/ with Obsidian-compatible wiki-links
  2. Build: Forgejo workflow builds Quartz static site on push to main
  3. Release: Built assets published as Forgejo release attachments
  4. Deploy: Container downloads release bundle on startup, serves via nginx

Release Process

Documentation is built and released via the build-blumeops Forgejo workflow (manual dispatch):

  1. Quartz builds static HTML/CSS/JS
  2. Assets uploaded as Forgejo release attachment
  3. Workflow updates DOCS_RELEASE_URL in argocd/manifests/docs/deployment.yaml and commits to main
  4. ArgoCD syncs the updated deployment; new pod downloads the release bundle at startup

Configuration

  • Quartz config: quartz.config.ts
  • Layout: quartz.layout.ts
  • ArgoCD app: argocd/apps/docs.yaml
  • Manifests: argocd/manifests/docs/