NuGet - The Package Metadata Service

Implements the Metadata service for NuGet.

Note: Some additional investigation needed on the dependencyGroups outputted by this endpoint url.

Investigation issue details

Related: #20050 (closed)

This is step 5 of 7 in implementing the NuGet API MVC:

  1. #36496 (closed) - API Skeleton + The Service Index + authentication
  2. gitlab-workhorse#235 (closed) - Workhorse upload route
  3. #36499 (closed) - Push/Delete Service
  4. #36502 (closed) - Metadata extraction job, DB changes, and dependencies
  5. #36504 (closed) - Package Metadata Service
  6. #36505 (closed) - Search Service
  7. #36506 (closed) - Package Content Service

Technical notes

  • nuget will parse the .nuspec file and follow the dependencies from there. This means that the dependencyGroups structure can be [].... 🤷
  • For .nupkg content endpoint url construction, follow the documented format
  • Consider adding a way to know if a nuget package file has been processed or not by the extraction job. The metadata service endpoint should not return a valid response on packages that are still being processed.
Edited by David Fernandez