• v1.6.6 20a25557d6

    eblume released this 2026-02-11 17:57:59 -08:00 | 722 commits to main since this release

    BlumeOps release v1.6.6

    What's Changed

    Features

    • Simplify Forgejo runner image (Dagger Phase 3): remove Node.js, Docker CLI, buildx, skopeo, gnupg, lsb-release, and xz-utils. Add tzdata and flyctl. All build tools now live inside Dagger containers.

    Bug Fixes

    • Restore Docker CLI to Forgejo runner image — Dagger shells out to docker to provision its BuildKit engine.
    • Restore Node.js to Forgejo runner image — required by actions/checkout@v4 and other JavaScript Actions that were broken by the Phase 3 simplification.

    Documentation

    Download docs-v1.6.6.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.6/docs-v1.6.6.tar.gz
    
    Downloads
  • v1.6.5 e84ffb7d7f

    eblume released this 2026-02-11 17:10:29 -08:00 | 729 commits to main since this release

    BlumeOps release v1.6.5

    Documentation

    Download docs-v1.6.5.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.5/docs-v1.6.5.tar.gz
    
    Downloads
  • v1.6.4 2a04ab26b7

    eblume released this 2026-02-11 17:01:23 -08:00 | 731 commits to main since this release

    BlumeOps release v1.6.4

    What's Changed

    Bug Fixes

    • Set Forgejo runner timezone to America/Los_Angeles. The runner previously used UTC, causing towncrier changelog entries to show tomorrow's date when releases were cut in the evening. Note: the v1.6.2 changelog entry shows 2026-02-12 due to this bug; dates may appear non-sequential as a result.

    Documentation

    Download docs-v1.6.4.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.4/docs-v1.6.4.tar.gz
    
    Downloads
  • v1.6.3 b0bac91ca9

    eblume released this 2026-02-11 16:46:35 -08:00 | 734 commits to main since this release

    BlumeOps release v1.6.3

    Documentation

    Download docs-v1.6.3.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.3/docs-v1.6.3.tar.gz
    
    Downloads
  • v1.6.2 b197bd5f58

    eblume released this 2026-02-11 16:35:02 -08:00 | 736 commits to main since this release

    BlumeOps release v1.6.2

    What's Changed

    Features

    • Migrate docs build pipeline to Dagger (Phase 2): dagger call build-docs --src=. --version=dev now runs the full Quartz build locally, identically to CI. Adds date-modified frontmatter to all docs and a docs-check-frontmatter pre-commit hook.
    • Adopt Dagger as CI build engine for container images (Phase 1). Replaces the Docker buildx + skopeo composite action with a Dagger Python module. BuildKit's push is compatible with Zot, eliminating the skopeo workaround.

    Bug Fixes

    • Fix blumeops-tasks: migrate from deprecated Todoist REST API v2 to API v1, handle cursor-based pagination, and use op read for 1Password credential retrieval.

    Documentation

    Download docs-v1.6.2.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.2/docs-v1.6.2.tar.gz
    
    Downloads
  • v1.6.1 3c4b5b6c10

    eblume released this 2026-02-11 13:37:34 -08:00 | 741 commits to main since this release

    BlumeOps release v1.6.1

    What's Changed

    Bug Fixes

    • Fix Fly.io proxy cache purge command for BusyBox shell compatibility.

    Documentation

    Download docs-v1.6.1.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.1/docs-v1.6.1.tar.gz
    
    Downloads
  • v1.6.0 0efcce2984

    eblume released this 2026-02-11 13:33:57 -08:00 | 744 commits to main since this release

    BlumeOps release v1.6.0

    What's Changed

    Bug Fixes

    • Purge Fly.io proxy cache after docs deploy so new releases are served immediately.

    Documentation

    Download docs-v1.6.0.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.6.0/docs-v1.6.0.tar.gz
    
    Downloads
  • v1.5.4 a59ff04249

    eblume released this 2026-02-11 12:17:12 -08:00 | 746 commits to main since this release

    BlumeOps release v1.5.4

    What's Changed

    Bug Fixes

    • Bump Fly.io proxy VM memory from 256MB to 512MB to prevent Alloy OOM kills.

    Documentation

    • Add plan documents for Dagger CI/CD adoption and upstream fork strategy.
    • Add plan documents for OIDC provider adoption, zot registry hardening, and expanded network segmentation details.
    • Review security-model.md: fix op CLI pattern, add Tailscale Operator section.

    Documentation

    Download docs-v1.5.4.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.5.4/docs-v1.5.4.tar.gz
    
    Downloads
  • v1.5.3 aab19c97fe

    BlumeOps v1.5.3
    All checks were successful
    Build Container / build (push) Successful in 40s
    Stable

    eblume released this 2026-02-11 07:53:48 -08:00 | 751 commits to main since this release

    BlumeOps release v1.5.3

    What's Changed

    Features

    • Add BorgBase offsite backup repository for 3-2-1 backup strategy
    • Fly.io proxy serves a friendly error page when upstreams are unreachable (indri offline, Tailscale tunnel down, etc.). Test at docs.eblu.me/_error.
    • Add op-backup mise task for encrypted 1Password disaster recovery backups via borgmatic
    • Add SMART disk health monitoring for sifaka NAS with smartctl_exporter, Grafana dashboard, Ansible playbook, and Caddy L4 routing via ops.eblu.me.

    Bug Fixes

    • Replace op item get --fields with op read in all mise tasks (tailnet-up, tailnet-preview, dns-up, dns-preview) to prevent multi-line secret corruption.
    • Fix 502 errors during Fly.io proxy deploys by deferring health check until Tailscale is connected.
    • Fix minikube ansible role not restarting cluster after power loss — status check only examined host VM state, missing stopped kubelet/apiserver.
    • Log real client IPs in Fly.io proxy access logs using Fly-Client-IP header instead of showing the internal proxy address.

    Infrastructure

    • Switch CI container builds from deprecated docker build to docker buildx build (BuildKit).
    • Install docker-buildx-plugin in forgejo-runner image to support docker buildx build.
    • Eliminate 502 errors during Fly.io proxy deploys by starting nginx after Tailscale, switching to bluegreen deploys, and using service-level health checks for traffic gating.

    Documentation

    • Add troubleshooting guide for CNI conflict after unclean shutdown to restart-indri how-to.
    • Add migration plan for Forgejo brew-to-source transition
    • Document op read vs op item get convention for 1Password secret retrieval
    • Add power infrastructure reference card documenting the battery-backed UPS chain (Anker SOLIX F2000 → CyberPower UPS → homelab).
    • Add plan and reference card for UniFi Express 7 Pulumi IaC management.
    • Add how-to guide for restoring 1Password backup from borgmatic, with cross-links from disaster recovery, borgmatic, 1password, and backup policy docs

    Documentation

    Download docs-v1.5.3.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.5.3/docs-v1.5.3.tar.gz
    
    Downloads
  • v1.5.2 9e361cf38f

    eblume released this 2026-02-09 07:30:21 -08:00 | 772 commits to main since this release

    BlumeOps release v1.5.2

    What's Changed

    Features

    • Filter blumeops-tasks to only show dated/recurring tasks when due today or earlier.
    • Add docs-review mise task that sorts docs by last-reviewed frontmatter date, prioritizing never-reviewed cards. Updated the review-documentation how-to to match.

    Bug Fixes

    • Fix fly-deploy WARNING by starting nginx before Tailscale, deferring upstream DNS resolution to request time.

    Infrastructure

    • Migrate all Ansible op item get calls to op read URI syntax for cleaner output and remove the regex_replace workaround on the Fly deploy token.
    • Restrict fly.io proxy ACLs to dedicated tag:flyio-target endpoints instead of broad tag:k8s and tag:homelab grants. Migrate all Tailscale Ingresses to a shared ProxyGroup with per-Ingress tag overrides (tag:flyio-target on docs, loki, prometheus). Add autoApprovers for VIP service routes. Enable --accept-routes on indri for ProxyGroup VIP routing.

    Documentation

    Download docs-v1.5.2.tar.gz and configure the quartz container with:

    DOCS_RELEASE_URL=https://forge.ops.eblu.me/eblume/blumeops/releases/download/v1.5.2/docs-v1.5.2.tar.gz
    
    Downloads