672 posts tagged with "PaaS"
Platform-as-a-Service tooling, economics, and self-hosted alternatives
Field Is Immutable: Why helm upgrade Dies at the API Server, and Which Escape Hatch Actually Scales
A community Helm chart renames one label and your upgrade dies in the API server's validation path. Here is the full table of immutable Kubernetes fields with their exact error strings, the five ways out priced against each other, and the fleet size where a platform operator finally beats the runbook.
Hetzner Unfroze the 50-Second Load Balancer Idle Timeout — Your Build Logs Will Still Die at 15 Seconds
Hetzner made its 50-second load balancer idle timeout configurable in April 2026, but on a Kubernetes stack it is rarely the rung that kills your log stream. The full timeout ladder — with real defaults, the idle-vs-total distinction, and the heartbeat math that survives all of it.
Hetzner Removed the EC2-Compatible Metadata Routes on August 1 — Every Bootstrap Script Still Curling /latest/ Is Now Broken
On August 1, 2026 Hetzner removed the EC2-compatible /latest/ and /2009-04-04/ metadata routes, breaking every bootstrap script that inherited the AWS curl idiom. The full route-by-route migration table, a repo audit command, and the CAPH preKubeadmCommands diff that fixes it.
Your MCP Server Lost Its Confirmation Prompt on July 28: Rebuilding the Delete Gate on input_required
The 2026-07-28 MCP spec deleted server-initiated requests, and with them the only way a destructive tool could stop and ask a human. Here is the replacement on the wire: a delete_service gate built on resultType input_required, the signed requestState ticket that survives a round-robin load balancer, and the once-only guarantee the protocol makes your problem.
90% Off Is the Break-Even: Preview-Environment Cost Math on Hardware You Already Bought
Preview-environment guides all say the same thing: put it on spot capacity for up to 90% off. Priced against a Hetzner box you own, 88.9% is exactly the break-even — so here is the real cost table, the duty cycle where renting still wins, and the three knobs that move the number when the meter is gone.
How the controller-runtime Cache Actually Works: What PaaS Builders Should Know Before Their First OOMKill
Your operator's Get() never hits the API server — it silently caches every object of that Kind in the cluster. How controller-runtime's shared-informer cache works, why it OOMKills control planes at fleet scale, and the exact selectors, transforms, and DisableFor config that shrink a PaaS control plane from gigabytes to a few hundred MB.
Coolify v4 and the v5 Rewrite: What 325,000 Users on a Single-Box PaaS Say About Multi-Server Scalability
Coolify v4 polished the single-box self-hosted PaaS to a shine — then announced v5 as a ground-up rewrite for multi-server scalability. A mechanism-by-mechanism look at why fleet behavior can't be bolted onto per-host SSH orchestration, and what a Kubernetes/Cluster API platform inherits on day one.
Headlamp's Cluster API Plugin: What a Point-and-Click Fleet UI Changes for Teams Who'd Rather Not Live in kubectl
Headlamp's new Cluster API plugin puts CAPI fleet state behind a point-and-click UI. Where it beats kubectl and clusterctl, where it fights your GitOps loop, and why a self-hosted PaaS should adopt it for operators instead of building a fleet dashboard.
Retiring cluster-admin and the Shared Bastion: Kubernetes' Access-Broker Pattern for Production Debugging
Kubernetes' March 2026 guidance replaces cluster-admin exec and shared bastions with a three-layer access broker: least-privilege RBAC, group-based bindings, and a just-in-time gateway — plus how to wire it into a multi-tenant PaaS debug-shell feature without rebuilding the anti-pattern.