2026-02-03 20:17:24 -08:00
---
2026-02-07 21:44:57 -08:00
title: How-To
2026-02-22 08:17:52 -08:00
modified: 2026-02-22
2026-02-03 20:17:24 -08:00
tags:
- how-to
---
# How-To Guides
2026-02-04 17:21:34 -08:00
Task-oriented instructions for common BlumeOps operations. These guides assume you already understand the basic concepts - see [[tutorials|Tutorials]] if you're learning.
2026-02-03 20:17:24 -08:00
## Deployment
| Guide | Description |
|-------|-------------|
| [[deploy-k8s-service]] | Deploy a new service to Kubernetes via ArgoCD |
| [[add-ansible-role]] | Add a new Ansible role for indri services |
2026-02-12 11:20:05 -08:00
| [[create-release-artifact-workflow]] | Build artifacts and publish to Forgejo packages |
2026-02-15 08:05:11 -08:00
| [[build-container-image]] | Build and release a custom container image via Dagger |
2026-02-03 20:17:24 -08:00
## Configuration
| Guide | Description |
|-------|-------------|
| [[update-tailscale-acls]] | Update Tailscale access control policies |
2026-02-07 21:02:10 -08:00
| [[gandi-operations]] | Manage DNS records and cycle the Gandi API token |
2026-02-03 20:52:37 -08:00
| [[use-pypi-proxy]] | Configure pip and publish packages to devpi |
2026-02-08 00:38:27 -08:00
| [[expose-service-publicly]] | Expose a service to the public internet via Fly.io + Tailscale |
2026-02-03 20:17:24 -08:00
| [[update-documentation]] | Publish docs via build-blumeops workflow |
Update tooling dependencies (Feb 2026 cycle) (#254)
## Summary
Monthly tooling dependency update cycle:
- **Pre-commit hooks**: trufflehog v3.92.5→v3.93.4, ruff v0.14.13→v0.15.2, shellcheck v0.10.0.1→v0.11.0.1, prettier v3.8.0→v3.8.1, actionlint v1.7.10→v1.7.11
- **Fly.io Dockerfile**: pin nginx to 1.28.2-alpine (was unpinned), bump alloy v1.5.1→v1.13.1
- **Mise tasks**: normalize httpx lower bound to >=0.28.0 and typer to >=0.15.0 across all scripts
- **Forgejo workflows**: actions/checkout@v4 is current, no changes needed
- **New how-to doc**: [[update-tooling-dependencies]] documenting this monthly cycle
## No changes needed
- pre-commit-hooks v6.0.0, yamllint v1.38.0, shfmt v3.12.0-2, taplo v0.9.3, ansible-lint 26.1.1 — all already at latest
## Test plan
- [x] `uvx pre-commit run --all-files` — all 24 hooks pass
- [ ] Fly.io deploy (triggered automatically on merge to main via deploy-fly workflow)
Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/254
2026-02-23 13:08:41 -08:00
| [[update-tooling-dependencies]] | Monthly update cycle for pre-commit, Fly, mise, and workflow deps |
2026-02-03 20:17:24 -08:00
2026-02-03 21:17:58 -08:00
## Knowledge Base
| Guide | Description |
|-------|-------------|
| [[review-documentation]] | Periodically review and maintain documentation |
2026-02-16 17:02:56 -08:00
| [[review-services]] | Periodically review services for version freshness |
2026-02-20 08:15:20 -08:00
| [[agent-change-process]] | C0/C1/C2 change classification and Mikado method for agents |
2026-02-03 21:17:58 -08:00
2026-02-03 20:17:24 -08:00
## Operations
| Guide | Description |
|-------|-------------|
2026-02-17 07:29:33 -08:00
| [[connect-to-postgres]] | Connect to PostgreSQL as a superuser via psql |
2026-02-04 14:39:48 -08:00
| [[restart-indri]] | Safely shut down and restart indri |
2026-02-08 02:36:19 -08:00
| [[manage-flyio-proxy]] | Deploy, shutoff, and troubleshoot the public proxy |
2026-02-10 10:55:00 -08:00
| [[restore-1password-backup]] | Recover 1Password credentials from borgmatic backup |
2026-02-03 20:17:24 -08:00
| [[troubleshooting]] | Diagnose and fix common issues |
2026-02-10 10:18:53 -08:00
## Plans
Migration and transition plans for upcoming infrastructure changes.
| Plan | Description |
|------|-------------|
| [[plans]] | Index of all plans |
2026-02-11 18:04:39 -08:00
| [[completed]] | Completed plans archive |
2026-02-10 10:18:53 -08:00
| [[migrate-forgejo-from-brew]] | Transition Forgejo from Homebrew to source-built binary |
2026-02-14 09:47:04 -08:00
| [[add-unifi-pulumi-stack]] | Add Pulumi IaC for UniFi Express 7 (abandoned) |
| [[segment-home-network]] | Manual three-network segmentation for UniFi Express 7 |
2026-02-11 10:20:14 -08:00
| [[adopt-dagger-ci]] | Adopt Dagger as CI/CD build engine |
| [[upstream-fork-strategy]] | Stacked-branch forking strategy for upstream projects |
2026-02-11 11:47:23 -08:00
| [[adopt-oidc-provider]] | Deploy OIDC identity provider for SSO across services |
2026-02-23 15:06:00 -08:00
| [[upgrade-grafana]] | Upgrade Grafana to 12.x with kustomize and home-built container |
2026-02-11 11:47:23 -08:00
| [[operationalize-reolink-camera]] | Cloud-free NVR with Frigate and ring buffer recording |
2026-02-20 12:55:59 -08:00
2026-02-22 08:17:52 -08:00
## Ringtail
| Guide | Description |
|-------|-------------|
| [[manage-lockfile]] | Update or lock NixOS flake inputs via Dagger |
2026-02-20 17:56:25 -08:00
## Zot
Mikado chain for hardening the zot registry. Track progress with `mise run docs-mikado harden-zot-registry` .
- [[harden-zot-registry]]
- [[register-zot-oidc-client]]
- [[wire-ci-registry-auth]]
- [[enforce-tag-immutability]]
2026-02-20 18:26:27 -08:00
- [[adopt-commit-based-container-tags]]
2026-02-20 22:50:01 -08:00
- [[add-container-version-sync-check]]
2026-02-20 23:03:12 -08:00
- [[install-dagger-on-nix-runner]]
2026-02-20 22:50:01 -08:00
- [[pin-container-versions]]
- [[add-dagger-nix-build]]
- [[fix-ntfy-nix-version]]
2026-02-20 17:56:25 -08:00
2026-02-20 12:55:59 -08:00
## Authentik
Mikado chain for deploying Authentik. Track progress with `mise run docs-mikado deploy-authentik` .
- [[deploy-authentik]]
- [[build-authentik-container]]
- [[provision-authentik-database]]
- [[create-authentik-secrets]]
- [[migrate-grafana-to-authentik]]
2026-02-22 17:12:45 -08:00
2026-02-23 15:06:00 -08:00
## Grafana
Mikado chain for upgrading Grafana to 12.x with kustomize and home-built containers. Track progress with `mise run docs-mikado upgrade-grafana` .
- [[upgrade-grafana]]
- [[kustomize-grafana-deployment]]
- [[build-grafana-container]]
2026-02-22 17:12:45 -08:00
## Forgejo Runner
Mikado chain for upgrading the k8s forgejo-runner daemon from v6.3.1 to v12.x. Track progress with `mise run docs-mikado upgrade-k8s-runner` .
- [[upgrade-k8s-runner]]
- [[validate-workflows-against-v12]]
- [[review-runner-config-v12]]