jasonwhite / rudolfs

A high-performance, caching Git LFS server with an AWS S3 and local storage back-end.
MIT License
392 stars 39 forks source link

404 Not Found #64

Open Richard-Payne opened 10 months ago

Richard-Payne commented 10 months ago

Not sure if this is a bug or just my own failure in configuration.

I have rudolfs run in WSL (either in Docker or with cargo run, the issue is the same). It is configured with an S3 bucket and a dedicated AWS user with permissions to read/write objects to that bucket.

On Windows, I have a small test repo. lfs is tracking .txt files and a I have a single .txt file in the repo. The remote to is pointed at a repo on our Azure Devops Server.

When I run: git push -u origin --all

I get:

Uploading LFS objects:   0% (0/1), 0 B | 0 B/s, done.
batch response: Repository or object not found: http://localhost:8080/objects/batch
Check that it exists and that you have proper access to it
error: failed to push some refs to 'https://<tfs_host>/tfs/<org>/<project>/_git/test-repo'

rudolfs outputs the following:

 2024-01-24T08:12:23.745Z INFO  rudolfs > Initializing storage...
 2024-01-24T08:12:23.745Z INFO  rudolfs::storage::s3 > Connecting to S3 bucket 'bucket-gitlfs' at region 'eu-west-2'
 2024-01-24T08:12:23.799Z INFO  rudolfs::storage::s3 > Successfully authorized with AWS
 2024-01-24T08:12:23.800Z INFO  rudolfs::storage::cached > Prepopulated cache with 0 entries (0 B)
 2024-01-24T08:12:23.800Z INFO  rudolfs                  > Listening on 0.0.0.0:8080
 2024-01-24T08:24:59.197Z INFO  rudolfs::logger          > [127.0.0.1] POST /locks/verify - 404 Not Found (58us 500ns)
 2024-01-24T08:24:59.688Z INFO  rudolfs::logger          > [127.0.0.1] POST /objects/batch - 404 Not Found (36us 900ns)

Not really sure what the 404s are referring to. The /objects/batch one occurs ever time the push is run. Any help would be appreciated.

jasonwhite commented 10 months ago

I think you've configured it incorrectly. It looks like you've configured the repo to push LFS objects to http://localhost:8080/ instead of http://localhost:8080/api/<my-org>/<my-project>.

Check the client configuration section on the readme.