Skip to content

pusher does not authenticate properly for gcr #4622

@tonistiigi

Description

@tonistiigi

Pusher uses retries for the exists check

resp, err := req.doWithRetries(ctx, nil)
and POST request
resp, err = req.doWithRetries(ctx, nil)
so they can handle 401 and request a token. Rest of the requests do not do this. GCR does not require authentication for the exists check and if the blobs for the push already exist POST request is skipped and only PUT request for manifest is done
resp, err := req.do(ctx)
that doesn't authenticate properly.

One fix that seems to resolve this is to just do doWithRetries in

resp, err := req.do(ctx)
but not sure if this is desired for blob requests. Mount request also doesn't do retries
resp, err = preq.do(pctx)
.

Affected versions: all

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions