goharbor/harbor · error

failed to build manifest deletion URL: %v

Error message

failed to build manifest deletion URL: %v

What it means

Error "failed to build manifest deletion URL: %v" thrown in goharbor/harbor.

Source

Thrown at src/pkg/reg/adapter/azurecr/adapter.go:102

		SupportedTriggers: []string{
			model.TriggerTypeManual,
			model.TriggerTypeScheduled,
		},
		SupportedCopyByChunk: true,
	}, nil
}

// DeleteTag deletes a tag from a repository in Azure Container Registry. it is implemented by untag api operation
func (a *adapter) DeleteTag(repository, tag string) error {
	// Azure Container Registry uses the standard Docker Registry API for tag deletion
	// The "untag" operation is implemented by deleting the manifest by tag
	// This follows the same pattern as other registry adapters

	// Build the manifest deletion URL for Azure Container Registry
	// Use the standard /v2/{repository}/manifests/{tag} endpoint
	manifestURL, err := url.Parse(fmt.Sprintf("%s/v2/%s/manifests/%s", a.registryURL, repository, tag))
	if err != nil {
		return fmt.Errorf("failed to build manifest deletion URL: %v", err)
	}

	// Create DELETE request
	req, err := http.NewRequest(http.MethodDelete, manifestURL.String(), nil)
	if err != nil {
		return fmt.Errorf("failed to create delete request: %v", err)
	}

	// Use the existing client with authorizer to make the request
	resp, err := a.Client.Do(req)
	if err != nil {
		return fmt.Errorf("failed to delete tag %s from repository %s: %v", tag, repository, err)
	}
	defer resp.Body.Close()

	// Check response status - Azure CR returns 202 Accepted for successful deletions
	if resp.StatusCode < 200 || resp.StatusCode > 299 {
		return fmt.Errorf("failed to delete tag %s from repository %s: HTTP %d", tag, repository, resp.StatusCode)

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/pkg/reg/adapter/azurecr/adapter.go:102 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/a3291a5b5017928c. Report an issue: GitHub.