mirror of
https://github.com/camptocamp/odoo-cloud-platform.git
synced 2026-06-24 08:47:40 +00:00
* store the S3 uri in the 'store_fname' (s3://bucket/key) * the read-only mode is now built-in, as we store the bucket name, if a instance is started with a different bucket or another filestore method, it will continue to read the previous attachments on their stored bucket, but new attachments will be stored on the new one * remove config in ir.config_parameter, it makes all the stuff more complex and we don't use them (config file would be more interesting) * automatically migrate the attachments on loading of the server, so if an ir.attachment has been created during the module upgrade/initialization before attachment_s3 is loaded, it will be sent to S3 as soon as it's loaded
39 lines
1.3 KiB
ReStructuredText
39 lines
1.3 KiB
ReStructuredText
Attachments on S3 storage
|
|
=========================
|
|
|
|
This addon allows to store the attachments (documents and assets) on S3 or any
|
|
other S3-compatible Object Storage.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Activate S3 storage:
|
|
|
|
* Create or set the system parameter with the key ``ir_attachment.location``
|
|
and the value in the form ``s3``.
|
|
|
|
Configure accesses with environment variables:
|
|
|
|
* ``AWS_HOST`` (not required if using AWS services)
|
|
* ``AWS_ACCESS_KEY_ID``
|
|
* ``AWS_SECRET_ACCESS_KEY``
|
|
* ``AWS_BUCKETNAME``
|
|
|
|
Read-only mode:
|
|
|
|
The bucket and the file key are stored in the attachment. So if you change the
|
|
``AWS_BUCKETNAME`` or the ``ir_attachment.location``, the existing attachments
|
|
will still be read on their former bucket. But as soon as they are written over
|
|
or new attachments are created, they will be created on the new bucket or on
|
|
the other location (db or filesystem). This is a convenient way to be able to
|
|
read the production attachments on a replication (since you have the
|
|
credentials) without any risk to alter the production data.
|
|
|
|
Limitations
|
|
-----------
|
|
|
|
When the ``ir.attachment`` model is started, it will automatically migrate
|
|
the attachments which are not stored in S3 yet. This might be an issue when
|
|
the number of attachments is huge. In that case, you might have more control
|
|
by calling yourself ``env['ir.attachment'].force_storage()``.
|