You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
S3 can be used with presigned urls, which would enable redirecting to the object storage instead of proxying the download, saving bandwidth on the Reposilite server.
This is especially useful when using a different server (Minio on different machine) or external service (S3, GCS) and the bandwidth for object storage is independent from Reposilite.
from the discord where this topic came up at one point:
also gradle/maven running on older java version does not follow 3xx statuses at all by default
but, maybe smth that could be done is to parse the user agent to identify the java version (afaik it should include that in the user agent)
if on a modern jdk, return a 302, otherwise fall back to streaming it
tho there's always the possibility of people using build tools that 1. dont send a proper user agent and 2. dont support redirects; so imo there should be a config option to always stream. (bonus, this would allow caching of artifacts locally rather than having to query S3 all the time)
that's why I said fallback to streaming it
if the useragent can't be parsed nicely, assume the worst-case scenario
Request details
S3 can be used with presigned urls, which would enable redirecting to the object storage instead of proxying the download, saving bandwidth on the Reposilite server.
This is especially useful when using a different server (Minio on different machine) or external service (S3, GCS) and the bandwidth for object storage is independent from Reposilite.
AWS docs: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html
This is usually supported by S3-compatible providers, e.g. GCS, R2 and Minio
Of course, this only works if the object storage is reachable from the maven client.
The text was updated successfully, but these errors were encountered: