diff --git a/README.md b/README.md index 72a3697..6dbef90 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,10 @@ Besides, the attachment location should be set to `s3` (this is automatically done by the `install` methods of the `cloud_platform` module). * `ir.config_parameter` `ir_attachment.location`: `s3` +Structure of bucket name is checked against environment. +It is possible to by-pass this behavior by using the following environment variable: +`AWS_BUCKETNAME_UNSTRUCTURED`. + ### Attachments in the Object Storage Swift diff --git a/cloud_platform/models/cloud_platform.py b/cloud_platform/models/cloud_platform.py index 62c1e25..e77f5c5 100644 --- a/cloud_platform/models/cloud_platform.py +++ b/cloud_platform/models/cloud_platform.py @@ -166,6 +166,13 @@ class CloudPlatform(models.AbstractModel): "If you don't actually need a bucket, change the" " 'ir_attachment.location' parameter." ) + # A bucket name is defined under the following format + # -odoo- + # + # Use AWS_BUCKETNAME_UNSTRUCTURED to by-pass check on bucket name + # structure + if os.environ.get('AWS_BUCKETNAME_UNSTRUCTURED'): + return prod_bucket = bool(re.match(r'[a-z-0-9]+-odoo-prod', bucket_name)) if environment_name == 'prod': assert prod_bucket, (