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 c7a58b8fdb
All checks were successful
Build Container / build (push) Successful in 1m8s
Add DOCKER_HOST env var to workflow for k8s DinD support
The k8s runner uses a DinD sidecar accessible via TCP on port 2375.
While the runner daemon config has docker_host set, job containers
don't inherit this - they need the DOCKER_HOST env var set explicitly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 19:22:37 -08:00
.claude
.forgejo Add DOCKER_HOST env var to workflow for k8s DinD support 2026-01-25 19:22:37 -08:00
.github Use k8s label for k8s runner testing 2026-01-25 19:11:38 -08:00
ansible Mount Docker socket in job containers for DinD 2026-01-25 18:48:57 -08:00
argocd Use k8s label for k8s runner testing 2026-01-25 19:11:38 -08:00
containers Simplify forgejo-runner to job execution image 2026-01-25 18:06:33 -08:00
mise-tasks Migrate k8s services to Caddy (*.ops.eblu.me) (#59) 2026-01-25 12:56:31 -08:00
pulumi Add Gandi DNS management via Pulumi (#54) 2026-01-25 08:15:46 -08:00
.ansible-lint
.gitignore
.pre-commit-config.yaml Switch to Buildah for container builds (#51) 2026-01-24 13:30:26 -08:00
.yamllint.yaml K8s Migration Phase 1: Infrastructure Setup (#29) 2026-01-19 09:49:52 -08:00
Brewfile Add Caddy layer4 for Forgejo SSH (#56) 2026-01-25 11:37:23 -08:00
CLAUDE.md Migrate k8s services to Caddy (*.ops.eblu.me) (#59) 2026-01-25 12:56:31 -08:00
mise.toml
README.md Enable Forgejo Actions (Phase 1) (#48) 2026-01-23 17:00:12 -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

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.