8.2.15.3.3. Configuration / fichiers utiles

Les fichiers de configuration sont gérés par les procédures d’installation ou de mise à niveau de l’environnement VITAM. Se référer au DIN.

Les fichiers de configuration sont définis sous /vitam/conf/offer.

8.2.15.3.3.1. Fichier default-offer.conf

contextPath: /
# Smile : TODO : remove storagePath from this file
storagePath: {{ vitam_folder_data }}
jettyConfig: jetty-config.xml
authentication : {{ vitam_struct.https_enabled }}
# Configuration MongoDB
mongoDbNodes:
{% for server in groups['hosts_mongos_offer'] %}
{% if hostvars[server]['mongo_cluster_name'] == offer_conf or inventory_hostname in single_vm_hostnames %}
- dbHost: {{ hostvars[server]['ip_service'] }}
  dbPort: {{ mongodb.mongos_port }}
{% endif %}
{% endfor %}
dbName: offer
dbAuthentication: {{ mongodb.mongo_authentication }}
dbUserName: {{ mongodb[offer_conf].offer.user }}
dbPassword: {{ mongodb[offer_conf].offer.password }}

offerLogCompaction:
  expirationValue: {{ vitam_offers[offer_conf].offer_log_compaction.expiration_value | default(21) }}
  expirationUnit: {{ vitam_offers[offer_conf].offer_log_compaction.expiration_unit | default("DAYS") }}
  compactionSize: {{ vitam_offers[offer_conf].offer_log_compaction.compaction_size | default(10000) }}

maxBatchThreadPoolSize: {{ vitam_offers[offer_conf]["maxBatchThreadPoolSize"] | default(32) }}
batchMetadataComputationTimeout: {{ vitam_offers[offer_conf]["batchMetadataComputationTimeout"] | default(600) }}

8.2.15.3.3.2. Fichier default-storage.conf

provider: {{ vitam_offers[offer_conf]["provider"] }}

{% if vitam_offers[offer_conf]["provider"] in ["filesystem","filesystem-hash"] %}
storagePath: {{ vitam_folder_data }}
{% endif %}

{% if vitam_offers[offer_conf]["provider"] in ["openstack-swift","openstack-swift-v2","openstack-swift-v3"] %}
swiftKeystoneAuthUrl: {{ vitam_offers[offer_conf]["swiftKeystoneAuthUrl"] | default("") }}
swiftDomain: {{ vitam_offers[offer_conf]["swiftDomain"] | default("") }}
swiftProjectName: {{ vitam_offers[offer_conf]["swiftProjectName"] | default("") }}
swiftUser: {{ vitam_offers[offer_conf]["swiftUser"] | default("") }}
swiftPassword: {{ vitam_offers[offer_conf]["swiftPassword"] | default("") }}
swiftUrl: {{ vitam_offers[offer_conf]["swiftUrl"] | default("") }}
swiftTrustStore: {{ vitam_folder_conf }}/truststore_{{ vitam_struct.vitam_component }}.jks
swiftTrustStorePassword: {{ password_truststore }}
swiftMaxConnectionsPerRoute: {{ vitam_offers[offer_conf]["swiftMaxConnectionsPerRoute"] | default(200) }}
swiftMaxConnections: {{ vitam_offers[offer_conf]["swiftMaxConnections"] | default(1000) }}
swiftConnectionTimeout: {{ vitam_offers[offer_conf]["swiftConnectionTimeout"] | default(200000) }}
swiftReadTimeout: {{ vitam_offers[offer_conf]["swiftReadTimeout"] | default(60000) }}
swiftHardRenewTokenDelayBeforeExpireTime: {{ vitam_offers[offer_conf]["swiftHardRenewTokenDelayBeforeExpireTime"] | default(60) }}
swiftSoftRenewTokenDelayBeforeExpireTime: {{ vitam_offers[offer_conf]["swiftSoftRenewTokenDelayBeforeExpireTime"] | default(300) }}
{% endif %}

{% if vitam_offers[offer_conf]["provider"] == "amazon-s3-v1" %}
s3RegionName: {{ vitam_offers[offer_conf]["s3RegionName"] }}
s3Endpoint: {{ vitam_offers[offer_conf]["s3Endpoint"] }}
s3AccessKey: {{ vitam_offers[offer_conf]["s3AccessKey"] }}
s3SecretKey: {{ vitam_offers[offer_conf]["s3SecretKey"] }}
s3PathStyleAccessEnabled: {{ vitam_offers[offer_conf]["s3PathStyleAccessEnabled"] | default(true) }}
s3SignerType: {{ vitam_offers[offer_conf]["s3SignerType"] | default("AWSS3V4SignerType") }}
s3MaxConnections: {{ vitam_offers[offer_conf]["s3MaxConnections"] | default(50) }}
s3ConnectionTimeout: {{ vitam_offers[offer_conf]["s3ConnectionTimeout"] | default(10000) }}
s3SocketTimeout: {{ vitam_offers[offer_conf]["s3SocketTimeout"] | default(50000) }}
s3RequestTimeout: {{ vitam_offers[offer_conf]["s3RequestTimeout"] | default(0) }}
s3ClientExecutionTimeout: {{ vitam_offers[offer_conf]["s3ClientExecutionTimeout"] | default(0) }}
s3TrustStore: {{ vitam_folder_conf }}/truststore_{{ vitam_struct.vitam_component }}.jks
s3TrustStorePassword: {{ password_truststore }}
{% endif %}

{% if vitam_offers[offer_conf]["provider"] in ["tape-library"] %}
tapeLibraryConfiguration:
  inputFileStorageFolder: "{{ vitam_folder_data }}/offer/inputFiles"
  inputTarStorageFolder: "{{ vitam_folder_data }}/offer/inputTars"
  outputTarStorageFolder: "{{ vitam_folder_data }}/offer/outputTars"
  maxTarEntrySize: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["maxTarEntrySize"] | default(100000) }}
  maxTarFileSize: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["maxTarFileSize"] | default(1000000) }}
  useSudo: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["useSudo"] | default('false') }}
  forceOverrideNonEmptyCartridges: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["forceOverrideNonEmptyCartridges"] | default('false') }}
  archiveRetentionCacheTimeoutInMinutes: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["archiveRetentionCacheTimeoutInMinutes"] | default(30) }}

  topology:
    buckets:
 {% for bucket in vitam_offers[offer_conf]["topology"]["buckets"] %}
        {{ bucket.name }}:
          tenants: {{ bucket.tenants }}
          tarBufferingTimeoutInMinutes: {{ bucket.tarBufferingTimeoutInMinutes }}
 {% endfor %}

  tapeLibraries:
{% for library in vitam_offers[offer_conf]["tapeLibraries"] %}
    {{ library.name }}:
      robots:
{% for robot in library.robots %}
        -
          device: {{ robot.device }}
          mtxPath: "{{  robot.mtxPath }}"
          timeoutInMilliseconds: {{ robot.timeoutInMilliseconds }}
{% endfor %}
      drives:
{% for drive in library.drives %}
        -
          index: {{ drive.index }}
          device: {{ drive.device }}
          mtPath: "{{ drive.mtPath }}"
          ddPath: "{{ drive.ddPath }}"
          tarPath: "{{ drive.tarPath }}"
          timeoutInMilliseconds: {{ drive.timeoutInMilliseconds }}
{% endfor %}
{% endfor %}
{% endif %}

L’arborescence de stockage des fichiers dans l’offre est décrite dans le DAT.