8.2.16.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.16.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.16.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) }}
{% if vitam_offers[offer_conf]["enableCustomHeaders"] is defined and vitam_offers[offer_conf]["enableCustomHeaders"] is sameas true %}
enableCustomHeaders: true
customHeaders:
{% for header in vitam_offers[offer_conf]["customHeaders"] %}
  - key: {{ header.key }}
    value: {{ header.value }}
{% endfor %}
{% endif %}

{% 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 }}/inputFiles"
  inputTarStorageFolder: "{{ vitam_folder_data }}/inputTars"
  tmpTarOutputStorageFolder: "{{ vitam_folder_data }}/tmpTarOutput"
  cachedTarStorageFolder: "{{ vitam_folder_data }}/cachedTars"
  maxTarEntrySize: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["maxTarEntrySize"] | default(100000) }}
  maxTarFileSize: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["maxTarFileSize"] | default(1000000) }}
  forceOverrideNonEmptyCartridges: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["forceOverrideNonEmptyCartridges"] | default('false') }}
  cachedTarMaxStorageSpaceInMB: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["cachedTarMaxStorageSpaceInMB"] }}
  cachedTarEvictionStorageSpaceThresholdInMB: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["cachedTarEvictionStorageSpaceThresholdInMB"] }}
  cachedTarSafeStorageSpaceThresholdInMB: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["cachedTarSafeStorageSpaceThresholdInMB"] }}
  maxAccessRequestSize: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["maxAccessRequestSize"] }}
  readyAccessRequestExpirationDelay: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["readyAccessRequestExpirationDelay"] }}
  readyAccessRequestExpirationUnit: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["readyAccessRequestExpirationUnit"] }}
  readyAccessRequestPurgeDelay: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["readyAccessRequestPurgeDelay"] }}
  readyAccessRequestPurgeUnit: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["readyAccessRequestPurgeUnit"] }}
  accessRequestCleanupTaskIntervalDelay: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["accessRequestCleanupTaskIntervalDelay"] }}
  accessRequestCleanupTaskIntervalUnit: {{ vitam_offers[offer_conf]["tapeLibraryConfiguration"]["accessRequestCleanupTaskIntervalUnit"] }}

  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 }}"
          timeoutInMilliseconds: {{ drive.timeoutInMilliseconds }}
          readWritePriority: {{ drive.readWritePriority | default('WRITE') }}
{% endfor %}
      fullCartridgeDetectionThresholdInMB: {{ library.fullCartridgeDetectionThresholdInMB }}

{% endfor %}
{% endif %}

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