What if your Kubernetes cluster simply refused to run unsigned images? I spent some time experimenting with enforcing image provenance in a small Kubernetes setup using MicroK8s. The idea was simple: Only container images with valid cryptographic signatures are allowed to run in the cluster. For this I used: GitLab CI/CD (build + signing pipeline) Cosign / Sigstore (image signing) Kyverno (admissi
L'IA vocale en gestion de chantier : retour d'expérience après 50 projets BTP Le problème : les mains pleines, le temps compté Sur un chantier, le chef de projet ou l'artisan a les mains occupées. Qu'il soit en train de mesurer une façade, de vérifier l'aplomb d'une cloison ou de valider du béton fraîchement coulé, la dernière chose dont il a besoin est de sortir son téléphone pour re
Voice AI for Jobsite Estimating: A Developer Perspective Building estimators spend hours hunched over spreadsheets, struggling with poor handwriting on site photos, and entering the same data twice (once on paper, once in the office). This workflow is broken. Voice AI changes everything—and it's simpler to implement than most developers think. In this article, I'll walk you through the real-worl
Voice AI for Jobsite Estimating: A Developer Perspective The construction industry has historically lagged behind in digital adoption. Yet today, one of the most transformative shifts happening on job sites isn't coming from enterprise software vendors—it's coming from applied AI at the edge. Voice-based estimating is reshaping how builders create quotes, manage materials, and streamline workflo
Most teams I have worked with have one auth test in their suite. It looks like this: test('valid token verifies', () => { const token = signSync({ sub: 'user-1', aud: 'api://backend' }, secret); const result = verify(token, options); expect(result.valid).toBe(true); }); That test is fine. It is also a smoke test, not a regression suite. It catches the case where verification is completely b
The on-call alert at 02:14 said auth_5xx_rate spiked from 0.01 to 31.4. Not a deploy window. Not a traffic spike. Just thirty-one percent of authenticated requests failing for ~four minutes, then back to baseline. The cause was a JWKS rotation on the issuer side. New keys came in. Old keys went out. Caches in our service didn't refresh fast enough. Tokens signed with the new key were rejected beca