goharbor/harbor · error

marshal credential error: %v

Error message

marshal credential error: %v

What it means

Error "marshal credential error: %v" thrown in goharbor/harbor.

Source

Thrown at src/pkg/reg/adapter/dockerhub/client.go:80

	// subsequent calls via Do() will refresh the token automatically.
	client.credential = LoginCredential{
		Identifier: registry.Credential.AccessKey,
		Secret:     registry.Credential.AccessSecret,
	}
	err := client.refreshToken()
	if err != nil {
		return nil, fmt.Errorf("login to dockerhub error: %v", err)
	}

	return client, nil
}

// refreshToken authenticates with Docker Hub via POST /v2/auth/token and stores
// the resulting bearer token. Callers must hold c.mu before calling this method.
func (c *Client) refreshToken() error {
	b, err := json.Marshal(c.credential)
	if err != nil {
		return fmt.Errorf("marshal credential error: %v", err)
	}

	request, err := http.NewRequest(http.MethodPost, baseURL+loginPath, bytes.NewReader(b))
	if err != nil {
		return err
	}
	request.Header.Set("Content-Type", "application/json")

	resp, err := c.client.Do(request)
	if err != nil {
		return err
	}
	defer resp.Body.Close()

	body, err := io.ReadAll(resp.Body)
	if err != nil {
		return err
	}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/pkg/reg/adapter/dockerhub/client.go:80 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/fbcc8bf715d1ac15. Report an issue: GitHub.