All checks were successful
Test CI / test (push) Successful in 0s
## Summary - Refactor Forgejo app.ini to be managed by ansible with secrets from 1Password - Enable Forgejo Actions in config (`[actions] ENABLED = true`) - Add `repo.actions` to DEFAULT_REPO_UNITS - Clean up unused MySQL database fields (we use SQLite) ## Phase 1 Progress This PR covers the first part of Phase 1 (ci-cd-bootstrap plan): - [x] Refactor app.ini to ansible template - [x] Store secrets in 1Password - [x] Enable Actions in config - [ ] Deploy config changes (pending review) - [ ] Create runner registration token - [ ] Deploy runner to k8s - [ ] Test with simple workflow ## Deployment and Testing - [ ] Run `mise run provision-indri -- --tags forgejo` to deploy - [ ] Verify Forgejo restarts correctly - [ ] Verify Actions tab appears in repo settings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/48
89 lines
3.4 KiB
Markdown
89 lines
3.4 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
|
|
|
|
Detailed documentation lives in my personal zettelkasten, which is not included in this repository. You can view the docs with:
|
|
|
|
```bash
|
|
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.
|