Is there any specific reason why the repository na...
# help
a
Is there any specific reason why the repository name must be under 63 characters? Is it modifiable?
n
A repository name is part of the underlying storage path for objects. We've limited it as there are restrictions for object name length in many storage implementations. For example: AWS limits object names to 1024 bytes. So taking into account Repository namespace, repository name and physical addresses we create for objects, it was decided to set this limit for the repository name. If you think you have a compelling argument as to why this needs to be increased - please feel free to open a feature request for it.
a
Do you have a specific need for a long name, or is this just trying to see if you can work around an annoying limitation? Because... Actually... this will be hard to change. The repo name behaves like a domain name so that the S3 gateway can behave properly. That means special character limits and a length limit. If we allowed anything here, random S3 clients would fail, and you could not use vhost addressing with the gateway. By allowing such a repo name, we would be blocking an essentially unknown surface area for failures. These would be extremely hard to debug, of course.
i
@Ariel Shaqed (Scolnicov) isn't it possible to just have the repo name be a logical name, but the physical name is just a hash or something that fits within these bounds you mentioned?
a
I am not sure how usable that would be. Today the S3 integration is pretty seamless: once your client is properly configured, you just need to replace "lakefs://" with "s3://" at the start of your URLs and everything works. Now you would have the extra step of translating
<lakefs://prod-repository-whose-name-does-not-fit-into-sixty-four-charact>ers/main/README.md
into
<s3://2efd83228aa/main/README.md>
. @Andrij David if you do need this, or just a way to relax the limitation, please open an issue - I would like to have the discussion there and bring in @Oz Katz too!