Urgent.News

What's breaking now, across thousands of outlets.

Tech

We Dropped Harbor for Large Images. A Traefik Default Was the Cause.

I stopped pushing large images to Harbor because the pushes kept failing. The cause was a default in Traefik, which I had adopted only because ingress-nginx was retired. It took me a while to see that, and the reason is the useful part. Every metric I had said the system was healthy. The setup The cluster is new and runs on bare metal. Only HTTP and HTTPS need to be reachable from outside.…

The report details a technical issue faced during the migration of large image pushes from Harbor to Traefik in a newly established bare-metal cluster. The cluster utilized Cloudflare Tunnel for public accessibility, with Traefik acting as the ingress-nginx replacement, which was retired in March 2026. Initial upon migration, large images (over 100 MB) experienced intermittent failures during the push to Harbor, failing to meet the 60-second readTimeout set by Traefik's default configuration.

This default covered the entire request, including the body, and cut off parts that exceeded this limit, resulting in 504 Gateway Timeout errors. The problem was elusive as metrics showed no anomalies. However, after enabling detailed tracing in Traefik and Cloudflare, it was discovered that the failures were consistent with the readTimeout settings leading to partial uploads.

The resolution involved adjusting the Traefik entrypoint's readTimeout to 10 minutes (10m) for both web and websecure ports. This adjustment successfully allowed the large image pushes through without interruption, rectifying the issue. The incident highlights the importance of being aware of default timeout settings when adopting new components and the value of using traces to diagnose complex network issues.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

nexus studioQA 14

A red test can mean three very different things: the application broke, the network blinked, or the site showed a bot challenge.

  • SECURE verdict indicates test passed on its own
  • BREACHED verdict signifies application has broken, resulting in bug report
  • Other failures suggest environment or harness is at fault, not a fixed defect

The pause before the action: how Sakupa's confirmation step works

A quick disclosure first: I am not Sakupa's developer. I came across this MCP server while looking into how AI agents publish websites, and this post only organizes facts from its official site and…

  • Sakupa pauses before website changes to show proposed modifications to users.
  • The confirmation step serves to validate edits, prevent errors, and maintain workflow consistency.
  • Designed for static sites, Sakupa lacks dynamic features like databases or login capabilities.

Your Playwright test is green. Your checkout is broken

Here is a Playwright test I've seen in almost every codebase I've worked on: test ( " places an order " , async ({ page }) => { await page . goto ( " / " ); await page . getByLabel ( " Name " ).

  • Playwright test passes despite API returning 500 error
  • Optimistic UI and error swallowing cause issue
  • Fix response, read data back, or implement safety net

Rig of Troy: A Suspicious Recovery Script Hidden Inside Roblox Toolbox Models

An investigation into suspicious R6 models, hidden GUIs, remote code loading, and a possible social engineering attack. 1. It Started With an Animation R6 models and animations in the Roblox Toolbox.

  • Suspicious script discovered in Roblox Toolbox models
  • Runtime.lua script found in Right Arm object of multiple models
  • Interface displayed instructions to execute external command

More from Wednesday 4 November →