goharbor/harbor · error

invalid capabilities in metadata

Error message

invalid capabilities in metadata

What it means

Error "invalid capabilities in metadata" thrown in goharbor/harbor.

Source

Thrown at src/pkg/scan/rest/v1/models.go:94

// can interpret a returned result.
type ScannerAdapterMetadata struct {
	Scanner      *Scanner             `json:"scanner"`
	Capabilities []*ScannerCapability `json:"capabilities"`
	Properties   ScannerProperties    `json:"properties"`
}

// Validate validate the metadata
func (md *ScannerAdapterMetadata) Validate() error {
	// Validate the required properties
	if md.Scanner == nil ||
		len(md.Scanner.Name) == 0 ||
		len(md.Scanner.Version) == 0 ||
		len(md.Scanner.Vendor) == 0 {
		return errors.New("invalid scanner in metadata")
	}

	if len(md.Capabilities) == 0 {
		return errors.New("invalid capabilities in metadata")
	}

	for _, ca := range md.Capabilities {
		// v1.MimeTypeDockerArtifact is required now
		found := slices.Contains(ca.ConsumesMimeTypes, MimeTypeDockerArtifact)
		if !found {
			return errors.Errorf("missing %s in consumes_mime_types", MimeTypeDockerArtifact)
		}

		// either of v1.MimeTypeNativeReport OR v1.MimeTypeGenericVulnerabilityReport is required
		found = slices.ContainsFunc(ca.ProducesMimeTypes, func(pm string) bool {
			return isSupportedMimeType(pm)
		})
		if !found {
			return errors.Errorf("missing %s or %s in produces_mime_types", MimeTypeNativeReport, MimeTypeGenericVulnerabilityReport)
		}
	}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/pkg/scan/rest/v1/models.go:94 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/5fc3ecc39831bc18. Report an issue: GitHub.