GitOps repository for personal infrastructure management
  • Nix 32.5%
  • Jinja 21.5%
  • Python 17.9%
  • Shell 11.8%
  • Go 8.1%
  • Other 8.2%
Find a file
Erich Blume 7b60cca31e Document P6 blocker and add P5.1 QEMU2 migration plan (#37)
## Summary
- Document P6 (Kiwix/Transmission) blocker: podman driver cannot mount external volumes
- Add P5.1 plan to migrate minikube from podman to QEMU2 driver
- Update overview with corrected phase statuses and driver information

## Background

P6 implementation (`feature/p6-kiwix-transmission`) was completed but blocked because **all volume mount approaches failed** with the podman driver:

| Approach | Result |
|----------|--------|
| NFS volume | Failed - CAP_SYS_ADMIN required |
| SMB CSI driver | Failed - EPERM in rootless container |
| `minikube mount` (9p) | Failed - permission denied |
| hostPath | Failed - path doesn't exist in container |

Root cause: Podman driver runs minikube in a rootless container lacking kernel capabilities for filesystem mounts.

## What's Next

1. Merge this documentation PR
2. Execute P5.1 (QEMU2 migration) in a fresh session
3. Retry P6 with the QEMU2 driver

## Deployment and Testing
- [x] No deployment needed - documentation only
- [x] ArgoCD apps reset to main
- [x] Cluster healthy (except kiwix/transmission intentionally offline)

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

Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/37
2026-01-20 20:49:48 -08:00
.claude Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00
ansible P5: Migrate devpi to Kubernetes (#34) 2026-01-20 14:55:37 -08:00
argocd P5: Migrate devpi to Kubernetes (#34) 2026-01-20 14:55:37 -08:00
bin K8s Migration Phase 0: Foundation Infrastructure (#26) 2026-01-18 12:06:28 -08:00
mise-tasks P4: Miniflux migration + PostgreSQL consolidation (#33) 2026-01-20 09:04:47 -08:00
plans/k8s-migration Document P6 blocker and add P5.1 QEMU2 migration plan (#37) 2026-01-20 20:49:48 -08:00
pulumi P3: PostgreSQL disaster recovery test and borgmatic k8s-pg backup (#32) 2026-01-19 18:00:32 -08:00
.ansible-lint Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00
.gitignore Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00
.pre-commit-config.yaml Scan full repo history in trufflehog 2026-01-19 10:12:56 -08:00
.yamllint.yaml K8s Migration Phase 1: Infrastructure Setup (#29) 2026-01-19 09:49:52 -08:00
Brewfile K8s Migration Phase 1: Infrastructure Setup (#29) 2026-01-19 09:49:52 -08:00
CLAUDE.md P5: Migrate devpi to Kubernetes (#34) 2026-01-20 14:55:37 -08:00
mise.toml Add Pulumi for tailnet IaC management (#15) 2026-01-15 20:55:25 -08:00
README.md Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00

blumeops

                    l0K                                k..:k.
                  .:...c.                            ;c....
                    ....'o                          x.....
                      ....k                        x....
                       ... l'                    'c....
                        ....,l                  o'....
                         .....x                k....
                          .....d.             c....
                            ... l            x....
                              .,.d         ;c.c'
                               'c':;      x',c.
                                .:,'o   .x.::.
                                 .;:.k ,:.c'
                                   ,c.c';:.
                                    .,.:;.
                                   ;'.c, l
                                  d',c..:.d.
                                 O.:;.  'c';c
                               ;c.c'     .:;.x
                              o',c.       .;:.k
                             x.::.          'c.l.
                         dOKl.c,             .c,'o
                   0l'...... ..'              .::.ocx.
                 'o ............              o .... :olx;
                x,ox;. ....... .k             ....,dKKo;..x
              'd,OXXXXk:. ...... ;            ;:dXOl;',';l;o;
             x,oXXXXXXXXXkc. ...              .lc,',':dKNNNx;x;
           ;o;0KXXXXXXXXXXXX0l.                .',ckNNNNNNNNNxco0d
          l,d0oOXKOKXXXXKXXXX0.                  kNNNNNNNNNNNNNXxloo::
             .OXxdXKOX0kXXXX0.                   .KNNNNNNNNNNXONX0o.
                ,OdxKldXXXXx.                     ,NNNNNNNNNNNKoc
                   :.OXXkKo                       .kNNNNNNNNXx.
                      ':0c                         .NdNkXkc

Blue Mops — GitOps for Erich Blume's personal computing environment.

What is this?

Infrastructure-as-code for my tailnet (tail8d86e.ts.net). This repo contains ansible playbooks, configuration, and automation for managing my personal infrastructure.

This codebase was heavily co-authored by Claude Code, as an experiment in LLM-assisted development. I want to include a personal note here that I don't know entirely how I feel about LLMs in our current era, but it felt important to learn.

Development

Pre-commit Hooks

This repo uses pre-commit for code quality and consistency. Install hooks with:

uvx pre-commit install

Run all hooks manually:

uvx pre-commit run --all-files

Hooks include:

  • General: trailing whitespace, end-of-file fixer, large files, merge conflicts
  • Secrets: TruffleHog for secret detection
  • YAML: yamllint, ansible-lint
  • Python: ruff (linting + formatting)
  • Shell: shellcheck, shfmt
  • TOML: taplo
  • JSON: prettier

Documentation

Detailed documentation lives in my personal zettelkasten, which is not included in this repository. You can view the docs with:

mise run zk-docs

The zettelkasten is private at time of writing. If you're interested in the documentation or have questions about this project, please reach out to blume.erich@gmail.com.