-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for OVH Object Storage #5
Comments
Hi Guillaume, I'm glad you're finding the library useful! If OVH offers an S3 compatible API, then it should just be a case of changing the service URL on the S3 client configuration. If you're consuming the Lambda version, you can modify the S3 client config here:
The initialisation of new AmazonS3Config
{
ServiceURL = "<ovh's s3 compatible endpoint>"
} You'll need to build it yourself and deploy it with the change - I just updated the README.md with instructions on how to build and deploy the Lambda component: https://github.com/alanedwardes/Estranged.Lfs#deploying-to-lambda Let me know if that helps! |
Hi Alan, Here are the news. Firstly, I managed to make the AWS CLI client with OVH with the guide mentioned before. Secondly, I tried to make the AmazonS3Client .Net Core client with OVH. I tried at first to use the DotNet version of Estranged.Lfs. It would be nice to detail a little more the readme for this part.
Note : This line is currently not used and causes error: Now I will update my fork and try to use AWS Lambda to connect to OVH Object Storage since OVH Lambda are not currently stable. |
Hello Alan, I finally get it working with AWS Lambda too. Some things needed to be slightly ajusted or just detailed a little more. In the file I added some information in the README of my OVH-ready fork: https://github.com/MineoGames/Estranged.Lfs. Cheers |
For other who would need this, I wrote an article explaining the whole thing : https://www.mineogames.com/2020/08/12/VERSIONING_GIT_LFS/ I am gonna close the issue now. Happy coding ! |
Hello @alanedwardes, Last week I tried to clone the repo from another PC and I got errors 😞 Indeed, pushing LFS file to OVH with lambda works but not pulling them ! I read your code and tried to understand what's happening : Here are the traces while doing
I already made a ticket to OVH but it may be an error at the lambda function level... Edit: Btw I don't see errors in the lambda cloudwatch (at least after going back to user password security, with bitbucket security I got BasicFilter failed when doing git pull, but that's another problem). |
Hello, As you have indicated you forked the project and are running that I can't offer much help here. In the normal case, this means that your blob storage provider is throwing an error when HEAD is being called on the object: Estranged.Lfs/src/Estranged.Lfs.Adapter.S3/S3BlobAdapter.cs Lines 39 to 51 in 0f85e4a
You can see it in your log messages above:
Alan |
Hey Alan, I havn't changed the library core, only the amazon S3 client config. I contacted OVH and they said they saw only PUT, neither GET nor HEAD. |
Hey Alan, Thanks for your time. To debug, I used the .Net version of the application. It was easier than the Mock Toolkit or local debug with VS Code and Docker! Finally I found what was the problem by using Fiddler to compare HTTP requests between the application and the AWS CLI. Some additions I've also done:
I hope that now I have a fully working version of Estranged.LFS with OVH Object Storage! |
Hello Alan,
Huge thanks to you to provide a working out of the box solution!
The ideal solution (at least for me) would be to use OVH Object Storage (hosted in France and cheaper) instead than AWS S3.
But I am new to cloud and it looks confusing, so maybe you see clearly what should be done to configure Estranged.Lfs.
OVH say that they are S3-compatible, here is their guide.
Does it mean that is is possible to use your solution as is ? (only changing the S3 URL somehow)
Or is it needed to implement a IBlobAdapter? By using AmazonS3Client too?
I am a bit lost...
The text was updated successfully, but these errors were encountered: