ci-cd
Pipelines, builds and getting a change from a branch to a running system.
-
nginx: The Map Variable That Fixes the URI in proxy_pass
nginx: [emerg] invalid URI prefix in proxy_pass: a regex location needs a bare upstream, and a map on $uri keeps a path-specific Cache-Control header.
-
A Daily Digest of What Actually Got Merged, Built from MQTT and a Local LLM
paho-mqtt subscriber to SQLite plus a local LLM: a daily digest that summarises merged pull requests per repository from diff stats, no cloud API.
-
Documentation as a Repository: Publishing a Wiki.js Site from Reviewed Markdown
Wiki.js Git storage for docs as code: publish reviewed Markdown and fail a pull request when src/ changes without docs/, checked with git diff.
-
Testing Infrastructure Code by Executing Its Real Expressions
Ansible Templar in pytest: render the shipped combine(recursive=True) expression from defaults/main.yml instead of a shallow Python paraphrase.
-
Keeping Documentation Honest with an OpenAPI Snapshot Diff
FastAPI app.openapi() snapshot test in pytest: fail CI when the live OpenAPI schema drifts from the committed openapi.snapshot.json.
-
Verifying an Agent's Work Against Reality, Not Its Own Report
git diff --quiet HEAD and a re-run test command in a separate CI job: verifying a coding agent's work from repository state instead of its own report.
-
A Deterministic Daemon That Turns a Labelled Issue Into a Pull Request
git apply --check before git commit: an issue-to-PR daemon where the model only returns a patch and plain Python commits, pushes and opens the PR.
-
Pinning Image Tags to Git SHAs Because GitOps Diffs Manifests, Not Registries
image :latest never triggers an Argo CD rollout because GitOps diffs manifest text. Tagging with git rev-parse --short HEAD and committing it back.
-
Running BuildKit as a Remote Builder Without a Docker Daemon
open /var/run/docker.sock: no such file or directory from docker buildx on a containerd CI worker: run buildkitd with mTLS and use the remote driver.
-
Replacing pip, venv, flake8, black and isort with uv and Ruff
uv sync --locked and ruff check replacing pip install -r requirements.txt, venv, flake8, black and isort: uv.lock plus one pyproject.toml config.