Honest notes on infrastructure, security, and running technical teams, documenting the shift from human-scale systems to autonomous technical architectures.
Kyverno ClusterPolicy Removal: podSecurity Has No CEL Fix
Run the inventory before Kyverno v1.20 removes ClusterPolicy: validate.podSecurity has no CEL equivalent, and the new seccomp rule admits Pods PSA denies.
Deep dives into infrastructure, security, and technical leadership. No noise, just engineering rigor. Subscribe and grab the 2026 AI-agent & infrastructure security checklist.
next/font/google queries have exactly one entry: 1 bad URL
Reproduce a random next/font build failure on demand with NEXT_FONT_GOOGLE_MOCKED_RESPONSES, then kill it: Google serves 1 in 60 fonts with no extension.
Fix patch-package "status: 1" on npm 12: EALLOWREMOTE
Run npm_config_allow_remote=all to prove patch-package's empty status: 1 is EALLOWREMOTE on npm 12, then move the patch into npm's patchedDependencies.
containerd 1.x on Kubernetes 1.38: kubelet refuses to start
Kubernetes 1.38 drops the cgroupDriver fallback, so containerd 1.x nodes never join. Run crictl runtime-config to find them, plus the gate that buys time.
Unset NODE_EXTRA_CA_CERTS and retry: on slim images pnpm 12.6 to 12.8.1 treats it as a replacement trust store. 12.8.2 fixes it. Three causes, one test.
Turn on output.strictModuleErrorHandling: webpack 5.111 awaits async ESM entries by default, but a failed async cycle still hands out fulfilled exports.
GitHub Actions Node 20 removal: node20 now runs on Node 24
Hosted node20 actions do not fail after 23 September 2026, they run on Node 24 and the opt-out is inert. Plus exec /__e/node20/bin/node on container jobs.
70% of My Analytics Was a Bot That Ran My JavaScript
A headless proxy pool fired my GA4 tags and passed as readers for months. How I measured it, why the obvious marker would have lied, and the layer the block had to sit at.
The npm 12 install-script lockdown fails quietly across a repo estate. The order to roll it in, what each failure costs in production, and the CI gates.
Cyber Resilience Act Reporting: 10 Tips for Sept 11
Cyber Resilience Act reporting starts 11 September 2026. Ten tips for the 24-hour clock, naming the right coordinating CSIRT, and a platform with no API.
Set kube-proxy mode explicitly before Kubernetes 1.40 disables IPVS: nftables drops NodePort on secondary node IPs and silences your sync-failure alert.
Run two commands to split the four causes behind docker save --platform failing on Docker 29's containerd image store, then export a tar that actually loads.
npm EALLOWREMOTE: Fix Private Registries, Not allow-remote=all
npm 12 flipped allow-remote to none. EALLOWREMOTE on a private registry is fixed by replace-registry-host, not by disabling the supply-chain control globally.
npm 12: npm ci Exits 0, build/Release Fails on Deploy
npm 12 exits 0 when it skips a native build, so your pipeline is green and the container crashes. Three causes share the same output; here is how to triage.
Fix conflicting SELinux labels of volume in K8s 1.37
Kubernetes 1.37 mounts PVCs with -o context=, so pods with different SELinux labels stall in ContainerCreating. Run one kubectl check to find them first.
pnpm 12 Upgrade: Pin a Version or Workspace Errors Stay Silent
pnpm 12's Rust CLI validates pnpm-workspace.yaml, but only raises a hard error when you pin a version. Without one, a config typo stays a silent warning.
Fix Terraform "The deprecation originates from" Warnings
Terraform 1.15 warns about attributes you never wrote. Run terraform validate -json to tell real deprecations from mark propagation, plus what 1.16 fixes.
npm allowScripts: the package.json Schema, Not .npmrc
Set allowScripts in package.json to approve npm install scripts: exact schema, pinned vs name-only keys, why ignore-scripts wins, and what .npmrc holds.
Fix "unrecognized format int32" in Kubernetes 1.34
Kubernetes 1.34 warns 'unrecognized format int32' on valid CRDs. It's a kube-apiserver false positive, not your schema; patch the control plane to fix it.
npm EALLOWSCRIPTS: Use allowScripts, Not --allow-scripts
npm 12 forbids --allow-scripts in project installs. Plain npm install fails too if .npmrc carries the flag. Fix: an allowScripts allowlist in package.json.
GitHub Actions OIDC to AWS: Drop Static Keys for Good
Wire GitHub Actions OIDC to AWS correctly: scope the sub claim, handle the July 15 immutable-claim change, and avoid the trust policy traps tutorials skip.
io_uring Security: The Linux Speedup That Hides Rootkits
io_uring skips system calls for speed, and that same trick lets a rootkit run while Falco, Tetragon, and Defender see nothing. Here is how to close the gap.
Solid-State Battery Companies 2026: Who Is Actually Shipping
Which manufacturers ship semi-solid packs today versus who is still at pilot stage. The chemistry gap, commercialization status, and key players ranked.
Battle-tested agentic SOC tips: gate autonomy on 90% shadow-mode concordance, split verdict from action, and treat every log line as attacker-authored.
Find, patch, and block the CVSS 9.9 Fission container escape (CVE-2026-50566) on Kubernetes with version 1.24.0, Pod Security Standards, and a Kyverno rule.
AI Browser Prompt Injection Hands Over Your Sessions
One crafted URL drained Comet's Gmail and ChatGPT Atlas blocked just 5.8% of phishing. Agentic browsers run with all your logged-in sessions, and that is the bug.
Post-Quantum TLS Is Already On, and It Broke Your Router
Post-quantum TLS (X25519MLKEM768) already negotiates by default, and the operator problem is a 1,400-byte ClientHello that fragments and breaks SNI routing.
A remote code execution flaw sits in Anthropic's official MCP SDKs across 150M downloads. It's stdio command execution by design, and Anthropic calls it expected.
PgDog: Connection Pooling, Read Splits, and Sharding
PgDog sits in front of unmodified Postgres as a pooler, read/write balancer, and sharder. Here are the sharp edges to map before it hits production traffic.
npm allowScripts warning: fix "install scripts not covered" on npm 12
npm allowScripts warning on npm 12: run npm approve-scripts --allow-scripts-pending, approve what you trust, and set strict-allow-scripts so installs fail loudly.
OWASP API Top 10: Shadow APIs and BOLA Tips for 2026
Battle-tested OWASP API Security Top 10 tips for 2026: hunt shadow and zombie APIs at runtime, test BOLA in CI, and close the gaps that breached Optus.
The EU AI Act's high-risk obligations become enforceable on August 2, 2026, a deferral isn't law yet, and ISO 42001 won't cover you. Here's the engineering work.
Kubernetes User Namespaces GA: hostUsers false Node Prep
Kernel 6.3 (not 5.12), containerd 2.0+, and /etc/subuid setup for Kubernetes 1.36 user namespaces. Covers the silent failures that cost you an afternoon.
Kubernetes hardening for 2026: enforce Pod Security Standards, fix over-permissive RBAC, default-deny networking, and mitigate the CVEs nobody will patch.
The 2026 AI-Agent and Infrastructure Security Checklist
A practitioner's running checklist for 2026: agent identity, sandboxing untrusted code, dependency cooldowns, and the post-quantum deadlines, each tied to one concrete action.
A practical 2026 guide to securing MCP servers: inspect tool descriptions, scan for poisoning, pin versions against rug pulls, and add a runtime guardrail.
RSA Is on a Clock Now: The 2026 Deadlines Forcing the Post-Quantum Switch
NIST's finalized post-quantum standards plus FIPS and CNSA 2.0 deadlines put RSA and ECC on a countdown. Here's why 2026 is the year to start migrating.
WebMCP Hands Your Site's Tools to AI Agents, and Chrome 149 Just Made It Real
Chrome 149's origin trial ships WebMCP, the Google, Microsoft API that lets sites declare callable tools to AI agents instead of being screenshotted and guessed at.