Skip to content

Tech Eval: Add binary assets to a Release via gitlab-ci.yml

Problem to solve

In #36133 (closed) , we'd like to use the Package API for uploading assets into a generic registry. We need to research the Package API and how Release APIs can hook into this. #36133 (comment 255288929)

Intended users

Anyone who may create a release in GitLab:

Further details

Other things we may want to consider:

  • Any additional required attributes for the API
  • Storage quotas and limits
  • UI uploader
  • UI for viewing/discovering assets
  • How to handle duplicate uploads
  • Should we consider leveraging Git LFS?
  • Add generic registry to the existing storage tracking

Proposal

I'm wondering if we can move this forward by adding a new endpoint to the Packages API that will allow users to upload/download/delete arbitrary files to a generic registry. If we can answer the above, we could define an API that allows them to set attributes for:

  • Scope (instance/group/project)
  • Repository type (generic/npm/maven/nuget/conan)
  • Expire_in (number of days, never)
  • release_asset (true/false)
  • release_id
  • name
  • url
  • description

Permissions and Security

Documentation

Testing

What does success look like, and how can we measure that?

  • Ultimately, we want all users to be creating releases in GitLab

What is the type of buyer?

  • Community Edition
  • Enterprise Edition

Links / references

Related Issues:

Edited by Jackie Porter