Writing
Notes from the field
Write-ups from real projects: gateways, migrations, config as code and AI traffic. Mostly things I had to work out the hard way.
2026
- Kong AI Gateway governance as code: lint checks before go-live
MCP tool access, logged prompts, literal secrets: governance gaps visible in the YAML. A kongctl lint ruleset for Kong AI Gateway catches them before apply.
- Stop switching tool versions: pin every CLI per project with mise
One mise.toml pins decK, kongctl, kubectl, Helm and the rest of your toolbox per repo, with checksums, and CI reads the same file.
- From plugin to entities: local Ollama behind Kong AI Gateway 2.x
The same local Ollama model from the last post, now behind Kong AI Gateway 2.x on Konnect: a provider, a model and an API key instead of plugin config.
2025
- Run local LLMs with Ollama and Open WebUI in Docker
A pinned Docker Compose setup for Ollama and Open WebUI, what to expect on a Mac (CPU, not GPU), and how to put a gateway in front of it.
- Your CI is green, Kong says no: lint route paths before you deploy
deck file validate passes most broken route paths. A small lint ruleset catches all of them in CI, plus the risky ones Kong accepts.
2024
- Kong hybrid mode on Kubernetes with Helm, and what keeps working when the control plane doesn't
A Helm setup for Kong's control plane and data plane, and what I saw when I took the control plane away.
- Testing one Kong config against several decK versions: DVM, and why I now use mise instead
Why a Kong upgrade needs more than one decK version, how DVM switches between them, and why I now recommend mise instead, for decK and every other CLI.