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 34925cb94b Add kustomize images: transformer and configMapGenerator across services
Move hardcoded image tags to kustomization.yaml images: sections (22
services) and replace hand-written ConfigMap manifests with
configMapGenerator (12 services). Image tags are now centralized in
kustomization.yaml, and generated ConfigMaps include content hashes
that trigger automatic pod rollouts on config changes.

New kustomization.yaml files for forgejo-runner and nvidia-device-plugin
switch ArgoCD from directory mode to kustomize mode.

Skipped: argocd (remote upstream), databases, external-secrets,
grafana-config (cross-kustomization dashboards), immich (Helm),
authentik blueprints (special YAML tags).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:23:45 -08:00
.claude Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00
.dagger Prepare forgejo-runner v12 upgrade (leaf nodes) (#250) 2026-02-22 17:38:32 -08:00
.forgejo/workflows Fix container build workflows to checkout dispatch ref 2026-02-23 17:24:32 -08:00
.github Add k3s, 1Password Connect, and systemd nix-container-builder to ringtail (#209) 2026-02-18 21:15:30 -08:00
ansible Add Forgejo repository health metrics and Grafana dashboard (#245) 2026-02-22 11:16:03 -08:00
argocd Add kustomize images: transformer and configMapGenerator across services 2026-02-24 14:23:45 -08:00
containers Port Prometheus to local container build (#262) 2026-02-24 09:15:57 -08:00
docs Add kustomize images: transformer and configMapGenerator across services 2026-02-24 14:23:45 -08:00
fly Update tooling dependencies (Feb 2026 cycle) (#254) 2026-02-23 13:08:41 -08:00
mise-tasks Document container tag provenance and enhance container-list (#263) 2026-02-24 09:54:58 -08:00
nixos/ringtail Update ringtail flake inputs, add flake-update pipeline (#240) 2026-02-22 08:17:52 -08:00
pulumi Deploy Tailscale operator on ringtail k3s cluster (#215) 2026-02-19 09:33:05 -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 Fix mikado-branch-invariant-check not validating incoming commits 2026-02-23 16:32:34 -08:00
.yamllint.yaml Deploy Tailscale operator on ringtail k3s cluster (#215) 2026-02-19 09:33:05 -08:00
Brewfile Add op-backup mise task for encrypted 1Password disaster recovery (#136) 2026-02-09 20:37:39 -08:00
CHANGELOG.md Update docs release to v1.11.3 2026-02-23 21:04:33 -08:00
CLAUDE.md Formalize C0/C1/C2 change classification (#259) 2026-02-23 16:19:54 -08:00
dagger.json Adopt Dagger CI for container builds (Phase 1) (#156) 2026-02-11 15:38:31 -08:00
LICENSE Adopt Dagger CI for container builds (Phase 1) (#156) 2026-02-11 15:38:31 -08:00
mise.toml Adopt Dagger CI for container builds (Phase 1) (#156) 2026-02-11 15:38:31 -08:00
README.md Add Fly.io public reverse proxy for docs.eblu.me (#120) 2026-02-08 02:36:19 -08:00
service-versions.yaml Review cloudnative-pg: v1.28.1 is current, no upgrade needed 2026-02-24 07:27:25 -08:00
towncrier.toml Fix Quartz build to preserve git history for accurate file dates (#105) 2026-02-04 08:25:46 -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

CI/CD

This repo uses Forgejo Actions for CI/CD. Workflows live in .forgejo/workflows/ (not .github/workflows/). The runner executes jobs in host mode within the Kubernetes cluster.

Documentation

Documentation lives in docs/ and follows the Diataxis framework. Published at https://docs.eblu.me.

Docs use Obsidian wiki-link syntax ([[link]]) for cross-references. Edit with any markdown editor, or use obsidian.nvim for enhanced navigation.