ONE Object Storage Configuration
The ONE Object Storage is used to store application data for the following modules:
-
Data Processing Module (DPM).
-
Data Processing Engine (DPE).
-
Metadata Management Module (MMM).
-
ONE Web Application (MMM Frontend).
You can configure it for each module in their corresponding <module>/etc/application.properties
file.
Currently, MinIO is the only supported object storage type.
Properties
It is possible to add multiple object storages.
To do so, increase the index number in the names of properties (for example, ataccama.one.object-storage.storages[1].storageId
) and provide another set of values accordingly.
However, there can be only one WRITE storage at any given time, meaning that additional instances can be used only to read data. This is also why the same WRITE object storage needs to be configured for all modules.
Property | Data type | Description |
---|---|---|
ataccama.one.object-storage.storages[0].is-default |
Boolean |
If set to Default value: |
ataccama.one.object-storage.storages[0].storage-id |
String |
The identifier of the object storage.
Must be the same across the whole platform.
Default value: |
ataccama.one.object-storage.storages[0].storage-type |
String |
The type of object storage. Default value: |
ataccama.one.object-storage.storages[0].connection-properties.url |
String |
The URL of the shared file system.
Must include the Alternatively, you can use the following two properties instead: [source,properties] ---- ataccama.one.object-storage.storages[0].connectionProperties.host ataccama.one.object-storage.storages[0].connectionProperties.port ---- Default value: |
ataccama.one.object-storage.storages[0].connection-properties.access-key |
String |
The access key for the MinIO object storage. Default value for MinIO: |
ataccama.one.object-storage.storages[0].connection-properties.secret-key |
String |
The secret key of the MinIO object storage. Default value for MinIO: Encrypted version of the same value: |
ataccama.one.object-storage.storages[0].connection-properties.tmp-expiration |
Number |
Defines the time period after which temporary files are removed from the object storage. Expressed in milliseconds. Default value: |
ataccama.one.object-storage.tmp-retention-period |
Number |
Defines the expiration of temporary files for comments (images and files). Images and files uploaded to comments are stored in MinIO buckets dedicated to comments and not mixed with buckets relevant to MMM, DPM, and so on. Expressed in days. Default value: |
ataccama.one.object-storage.storages[0].connection-properties.presigned-expiration-seconds |
Number |
Configures for how long the URL used to upload files remains valid. After this period expires, the upload URL can no longer be accessed. Expressed in seconds. Default value: |
ataccama.one.object-storage.storages[0].connection-properties.scheduled-executor-pool-size |
Number |
The number of connections dedicated to the scheduled executor. Default value: |
ataccama.one.object-storage.required-writable-buckets |
String |
A list of buckets that are checked for on startup. If the Default value for DPM: Default value for DPE: Default value for MMM: Default value for MMM FE: |
ataccama.one.object-storage.comments-bucket-name |
String |
The name of the bucket storing images and files attached to comments. Default value: |
ataccama.one.object-storage.try-create |
Boolean |
Controls whether buckets listed in the property Default value: |
ataccama.one.object-storage.fail-fast |
Boolean |
Configures whether the module fails in case there is an error when creating buckets. Default value for DPM and DPE: Default value for MMM and MMM FE: |
ataccama.one.object-storage.connection-retry.number-of-attempts |
Number |
The total number of retries after the connection between the platform and ONE Object Storage is interrupted. Expressed in milliseconds. Default value: |
ataccama.one.object-storage.connection-retry.initial-delay |
Number |
Specifies the initial interval duration for trying to reconnect to ONE Object Storage. The module attempts to reconnect immediately after it detects that ONE Object Storage has been disconnected. If the connection remains disrupted, subsequent retries are performed based on this interval, with gradual increases. Expressed in milliseconds. Default value: |
ataccama.one.object-storage.connection-retry.max-delay |
Number |
Determines the maximum interval duration for trying to reconnect to ONE Object Storage. The interval multiplier cannot increase the interval duration past this value. Expressed in milliseconds. Default value: |
ataccama.one.object-storage.connection-retry.multiplication-factor |
Number |
A multiplier used to increase the interval between subsequent retries. The interval becomes longer after each unsuccessful try until the maximum delay length is reached. Expressed in milliseconds. Default value: |
For additional, MMM-specific properties, see MMM Configuration, section Object Storage configuration.
HTTP Client for Object Storage
You can create an HTTP client for ONE Object Storage with or without secure communication to MinIO.
To enable TLS authentication on the HTTP client, all the following properties are required.
If the connection is not secure, use only the property ataccama.client.connection.storage.http.enabled
.
Property | Data type | Description |
---|---|---|
ataccama.one.object-storage.storages[0].http-client |
String |
The name of the HTTP client.
If you set this property to another value, make sure to update other Set the value to Default value: |
ataccama.client.connection.object-storage1.http.enabled |
Boolean |
If set to If you are using MinIO and you omit this property or set it to |
ataccama.client.connection.object-storage1.http.tls.enabled |
Boolean |
Enables TLS authentication when communicating to the object storage. |
ataccama.client.connection.object-storage1.http.tls.trust-store |
String |
The full path to the truststore, for example, |
ataccama.client.connection.object-storage1.http.tls.trust-store-password |
String |
The password for the truststore. |
To override HTTP client properties in high availability environments use the following:
ataccama.one.object-storage.storages[0].http-client=storage-client
ataccama.client.connection.storage-client.http.enabled=true
ataccama.client.connection.storage-client.http.properties.read-timeout=10000
ataccama.client.connection.storage-client.http.properties.write-timeout=10000
ataccama.client.connection.storage-client.http.properties.connect-timeout=10000
Was this page useful?