## Summary - Delete `docs/zk/` directory - all useful content migrated to structured docs - Delete `docs/README.md` - `docs/index.md` is now the documentation root - Add `devpi` reference card and `use-pypi-proxy` how-to guide - Add maintenance notes to `indri` reference (sleep prevention, passwordless sudo) - Add iCloud Photos backup note to `borgmatic` reference - Rewrite `zk-docs` mise task to prime AI context with key docs instead of legacy cards - Update `CLAUDE.md` and `README.md` to remove zk references - Update `exploring-the-docs` with AI context priming section This completes the Diataxis documentation restructuring. All six phases are now done. ## Deployment and Testing - [x] Pre-commit hooks pass (including doc-links validator) - [ ] Build and deploy to docs.ops.eblu.me to verify rendering 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/97
85 lines
3.5 KiB
Markdown
85 lines
3.5 KiB
Markdown
# 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](https://pre-commit.com) for code quality and consistency. Install hooks with:
|
|
|
|
```bash
|
|
uvx pre-commit install
|
|
```
|
|
|
|
Run all hooks manually:
|
|
|
|
```bash
|
|
uvx pre-commit run --all-files
|
|
```
|
|
|
|
Hooks include:
|
|
- **General**: trailing whitespace, end-of-file fixer, large files, merge conflicts
|
|
- **Secrets**: [TruffleHog](https://github.com/trufflesecurity/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](https://forgejo.org/docs/latest/user/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](https://diataxis.fr/) framework. Published at https://docs.ops.eblu.me.
|
|
|
|
Docs use [Obsidian](https://obsidian.md) wiki-link syntax (`[[link]]`) for cross-references. Edit with any markdown editor, or use [obsidian.nvim](https://github.com/obsidian-nvim/obsidian.nvim) for enhanced navigation.
|