Stop Handing CI Jobs Root on Your Box
Self-hosted GitHub Actions, Forgejo, and GitLab runners can hand a forked pull request root on your box. Here is the isolation ladder that actually stops it.
All the articles with the tag "devops".
Self-hosted GitHub Actions, Forgejo, and GitLab runners can hand a forked pull request root on your box. Here is the isolation ladder that actually stops it.
Cluster API turns k3s cluster lifecycle into YAML: create, scale, and upgrade whole clusters as code with a management cluster, no more one off scripts.
RabbitMQ vs NATS for a self-hosted app: routing, delivery guarantees, Docker Compose setups, Python code, and which broker to run for background jobs.
Master Helm templating sanity. Values files, smart defaults, when to skip Helm entirely, and why nested variables aren't always the answer.
A security audit of Garrul, my Cloudflare Workers comment system, found 2 critical bugs. Both had the same root cause as one I had already fixed in June.
A WordPress login bot burned 90% of my Cloudflare Workers free tier in two hours attacking a site that has never run PHP. Here's what actually stopped it.
Daemonless OCI image builds in CI without Docker-in-Docker risks. Kaniko vs Buildah compared, when each fits, and which one suits your pipeline.
3-2-1 backups aren't enough anymore. The 3-2-1-1-0 rule adds immutable & offline copies plus verified restores, here's how to implement it.
regctl, regbot, and regsync give you tag retention policies, registry replication, and manifest surgery, no Docker daemon required.
Run dbt-core free with Postgres, DuckDB, or ClickHouse. SQL transformations, tests, docs, and star schemas without the dbt Cloud price tag.
Coding agents get unrestricted shell access by default because it's easy, not because they need it. Here's the short list of what actually breaks without one.
Cloudflare Durable Objects solve the one thing serverless can't: coordination. Storage API, WebSocket hibernation, gotchas, and a working rate limiter build.