blumeops/docs/how-to/how-to.md
Erich Blume 00b0287bcc Upgrade k8s forgejo-runner from v6.3.1 to v12.x (#249)
## Summary
- C2 Mikado chain for upgrading the k8s forgejo-runner daemon (6 major versions behind)
- Root goal card with two leaf prerequisites: workflow validation and config review
- Ringtail runner is already at ~v12.6.4 via nixpkgs, no work needed there

## Mikado Chain

```
upgrade-k8s-runner (goal)
├── validate-workflows-against-v12 (leaf)
└── review-runner-config-v12 (leaf)
```

Both leaves are actionable now. The biggest risk is workflow schema validation
(introduced in v8/v9) rejecting our existing workflows.

## Next Steps
Work the leaf nodes in a follow-up session, then attempt the goal.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/249
2026-02-22 17:12:45 -08:00

3.7 KiB

title modified tags
How-To 2026-02-22
how-to

How-To Guides

Task-oriented instructions for common BlumeOps operations. These guides assume you already understand the basic concepts - see tutorials if you're learning.

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
create-release-artifact-workflow Build artifacts and publish to Forgejo packages
build-container-image Build and release a custom container image via Dagger

Configuration

Guide Description
update-tailscale-acls Update Tailscale access control policies
gandi-operations Manage DNS records and cycle the Gandi API token
use-pypi-proxy Configure pip and publish packages to devpi
expose-service-publicly Expose a service to the public internet via Fly.io + Tailscale
update-documentation Publish docs via build-blumeops workflow

Knowledge Base

Guide Description
review-documentation Periodically review and maintain documentation
review-services Periodically review services for version freshness
agent-change-process C0/C1/C2 change classification and Mikado method for agents

Operations

Guide Description
connect-to-postgres Connect to PostgreSQL as a superuser via psql
restart-indri Safely shut down and restart indri
manage-flyio-proxy Deploy, shutoff, and troubleshoot the public proxy
restore-1password-backup Recover 1Password credentials from borgmatic backup
troubleshooting Diagnose and fix common issues

Plans

Migration and transition plans for upcoming infrastructure changes.

Plan Description
plans Index of all plans
completed Completed plans archive
migrate-forgejo-from-brew Transition Forgejo from Homebrew to source-built binary
add-unifi-pulumi-stack Add Pulumi IaC for UniFi Express 7 (abandoned)
segment-home-network Manual three-network segmentation for UniFi Express 7
adopt-dagger-ci Adopt Dagger as CI/CD build engine
upstream-fork-strategy Stacked-branch forking strategy for upstream projects
adopt-oidc-provider Deploy OIDC identity provider for SSO across services
upgrade-grafana-helm-chart Upgrade Grafana Helm chart from 8.8.2 to 11.x
operationalize-reolink-camera Cloud-free NVR with Frigate and ring buffer recording

Ringtail

Guide Description
manage-lockfile Update or lock NixOS flake inputs via Dagger

Zot

Mikado chain for hardening the zot registry. Track progress with mise run docs-mikado harden-zot-registry.

Authentik

Mikado chain for deploying Authentik. Track progress with mise run docs-mikado deploy-authentik.

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.