Issues with bucket/container names in new OVH Object Storage backup method
-
In my testing, it seems the implementation of the OVH Object Storage backup method has some flaws. It seems to not like anything with an underscore in it, despite it being possible to create one with an underscore in it via the OVH control panel. It also seems to require lowercase characters for some reason. If I use the same one that works "d19-cloudron-backups" and change it to "D19-Cloudron-backups" (while also having that second one created in the control panel), it will still fail stating that the bucket is not valid. So the two limitations seem to be underscores and uppercase characters, this new implementation doesn't like either of those.
-
@d19dotca Thanks for the report. I haven't tested it out yet but I think there is a bug here because we just got another bug report saying that bucket names with underscore does not work on OVH and it gets a BadRequest error in the logs (I guess that's the same error you saw?).
Just to take a blind guess, I think this is because the node module we use uses s3 domain style paths for bucket names. i.e bucketname.endpoint.com. In this style,
_
is not allowed because it is not a valid hostname. Other tricky characters like.
have the same limitation. In fact, AWS is deprecating so called path style API access for those tricky characters altogether and such bucket names might go away forever and remain only for some legacy reasons - https://forums.aws.amazon.com/ann.jspa?annID=6776 . I think if your bucket name has a '.' in it, you might even have to accept self-signed certs. I have an open task in our tracker to verify what needs to be done here from Cloudron side since it's deprecating in Sep.Same applies for capitalization, host names do not support it. It's probably a bug in the OVH panel that it allows such things (iirc, DO Spaces does not allow this).
That's just my guess though, I will double check.
-
This is from DO Spaces:
-
This one is from scaleway:
This is one from linode:
-
I found this https://docs.ovh.com/gb/en/public-cloud/getting_started_with_the_swift_S3_API/#introduction :
"Virtual hosted-style and path-style access are supported in all regions, but we recommend to use virtual hosted-style since path-style access will be deprecated after September 30, 2020."
I guess OVH cannot enforce the naming convention properly because they are coming from Swift which probably has different naming restrictions.
-
I have added a check for not having '_' and capitals in bucket names. I also found that downloads on OVH fail (uploads work!) because the region is not set correctly. Should be in next patch release.