Skip to content

Implement Required Endpoints for Conan v2 Revision Support

As part of our effort to fully support Conan v2, we have identified the required endpoints still necessary to enable revision support. The listed endpoints are required to implement basic v2 functionalities such as authentication, upload, download, search, and delete.

Missing Endpoints

Authentication Endpoint

  • Authenticate user:
    GET /api/conan/conan2/v2/users/authenticate !187977 (merged)

    This endpoint can be reused from v1.

Recipe File Endpoints

  • Retrieve a specific file of a recipe revision: !176600 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name
  • Upload a specific file of a recipe revision: !181393 (merged)
    PUT /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files/:file_name
  • List all files of a recipe revision: !182379 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/files
  • Retrieve the latest revision of a recipe: !183335 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/latest
  • List all revisions of a recipe: !186111 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions
  • Delete a specific recipe revision: !186073 (merged)
    DELETE /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision

Package File Endpoints

  • Retrieve a specific file of a package revision: !187107 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/revisions/:package_revision/files/:file_name
  • List all files of a package revision: !187850 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/revisions/:package_revision/files
  • Upload a specific file of a package revision: !185065 (merged)
    PUT /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/revisions/:package_revision/files/:file_name
  • Retrieve the latest revision of a package: !187678 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/latest
  • List all revisions of a package: !189380 (merged)
    GET /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/revisions
  • Delete a specific package revision: !191910 (merged)
    DELETE /api/v4/projects/:id/packages/conan/v2/conans/:package_name/:package_version/:package_username/:package_channel/revisions/:recipe_revision/packages/:package_reference/revisions/:package_revision

Additional Required Tasks

In addition to the required endpoints, the following tasks need to be implemented to ensure full functionality:

  • In package file metadata model, get the package reference from the new database !181084 (merged)
  • Refactor code to also support instance level v2 endpoint, instead of only project level v2 endpoint
  • Adapt registry auto clean-up to support revisions will not be done. Requires a lot work and decision on how to handle it.

Expected Impact

Once these endpoints are implemented, we will have full support for the following functionalities in Conan v2:

  • Authentication
  • Uploading a package
  • Searching for a package
  • Installing a package

All the endpoints (except authentication) are also required for Conan v1 with revision support.

Not Included in MVP

The following functionalities are not part of this initial implementation:

These features should be considered in future iterations.

Edited by 🤖 GitLab Bot 🤖