Skip to content

✨ [UX/DX] Dagger logs alarming "HTTP HEAD ERROR" for routine registry cache misses #11604

@smolinari

Description

@smolinari

What are you trying to do?

I am running Dagger in a centralized "Build Service" where a CLI triggers remote builds. I connect to the Dagger Engine via the Go SDK and pipe the raw log stream directly back to the user's terminal using dagger.Connect(ctx, dagger.WithLogOutput(http.ResponseWriter), ...).

I want to present this log stream to developers without them seeing prominent red ERROR logs when Dagger essentially hits a "cache miss" (404) while checking for existing image layers in the registry.

Example of the current noisy output during a successful build:

13  : remotes.docker.resolver.HTTPRequest
14  : ┆ HTTP HEAD
14  : ┆ HTTP HEAD ERROR [0.3s]
13  : remotes.docker.resolver.HTTPRequest ERROR [0.3s]

Why is this important to you?

We prioritize a "No WTF moments" Developer Experience. Currently, when a developer sees a wall of red errors, their immediate emotional response is "The build failed." It causes confusion and unnecessary panic, making the logs look broken even when the operation is 100% successful.

More importantly, this behavior trains users to ignore ERROR logs, which is a dangerous habit. We want ERROR to mean "Action Required" or "Process Failed," not "Routine Check Returned False."

Here is an image of what it looks like for a dev:

Image

How are you currently working around this?

We are currently forcing developers to tolerate the noise and explaining that "it's normal."

The only technical workaround would be to implement a brittle "Filtering Writer" in our application that intercepts the raw byte stream, parses for these specific error strings, and discards them before writing to the HTTP response. We would prefer not to maintain this kind of log-scraping logic downstream.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions