Upload finalize missing? Gitlab LFS Integration

Hello,

I tried to use the S3 gateway as a LFS storage (Large Files in Git). Unforutnately, I was unable to upload files as I ended up on this error:

https://paste.brcb.eu/bazyvulalo.json

I looks like there is a feature being used that is not implemented in your S3 compatible API.

Unfortunately I don’t understand S3 and Storj enough to debug this issue more, so I am asking for help.

I also read somewhere that the selfhosted version of S3 gateway is even “more S3 compatible” than the provided by you. Is that true and will the selfhosted gateway resolve the issue?

Thank you!

Hi, thanks for the report.

I’ve passed it along to the team and we’ll investigate what part of the S3 API Git LFS is using that might not be supported.

3 Likes

While we investigating, you may try to use your own S3 Gateway: Self-hosted S3 Compatible Gateway | Storj Docs
It need to be running in the same network or even better - on the same server, because it doesn’t support https by default.

It’s possible Gitlab is trying to use the upload part copy API which is not yet supported. Object storage | GitLab

It appears there is a way to disable that in Gitlab: Object storage | GitLab

Perhaps you can try this and see if that helps?

EDIT: I was able to reproduce the problem when trying out Gitlab myself, and the workaround stated here (Object storage | GitLab) seemed to resolve it.

Note that we’re still working on upload part copy support, but it’s not here yet.

3 Likes

One other thing that might be helpful is to enable debugging with EXCON_DEBUG which will output request host, path, and headers and might reveal some more useful information. I think this could be done in Gitlab with the following:

gitlab_rails['env'] = { 'EXCON_DEBUG' => '1' }
1 Like