application-storage.yml

Configuration file containing parameters and archive profiles used by the ARCHIVE and REPOSITORY service in order to connect external archives.

Characteristics

Configuration File Nameapplication-storage.yml
Referenced by Servicesarchive,repository
Storage LocationGit root directory 

File Structure

The file application-storage.yml is structured as follows:

storage:
  repositories:
    <repositoryId>:
      profiles: ['<archiveProfile>']
      <parameter>: <value>
  profiles:
    <archiveDriverName>:
      <archiveProfile>:
        <parameter>: <value>

Define your repositories via repositoryId. For each of them, specify an archive profile and thus define the type of archive driver for the corresponding repository. Set the parameters url and useDiscovery as described below.

For each type of archive driver identified by archiveDriverName, define one or more archive profiles. The name of each archive profile must be unique within the configuration file. Depending on the archive type, specific configuration parameters have to be set as described below too.

Parameters

ParameterDescriptionExample
storage.repositories

Configurations of repositories for by the REPOSITORY service. The repositoryId of each repository is defined via the key (e.g., s3 or netapp). For each repository, the following parameters have to be specified.

s3:
  profiles: ['s3profile1']
  default: true
netapp:
  profiles: ['netapplike']
  url:  http://archive/api/profiles/{profile}/dms/objects
  useDiscovery: true

profiles

A list of archive profile names, each of them referencing an archive profile defined in the storage.profiles section. The type of archive must be the same in the archive profile definition and in the repository configuration.

Note: Only the first list entry will be considered whereas further list entries will be ignored.

url

Address of the repository accessible via the ARCHIVE service. The archive profile can be referenced as dynamic component in curly brackets (e.g., http://archive/api/profiles/{profile}/dms/objects).

Not required for a repository of type s3 since it is already implemented in the REPOSITORY service itself.

useDiscoveryBoolean value specifying if the given url contains a reference and should be interpreted via the discovery (true) or if an absolute address is specified (false).
storage.profiles

Archive profiles for each archive driver. Multiple profiles can be defined for each archive driver. The name of each profile is defined via the corresponding key (e.g., s3profile1 or netapplike). Each archive profile name has to be unique within the configuration file and can belong to only one archive driver type.

The parameters for the configuration of an archive profile depend on the archive driver indicated by the corresponding archiveDriverName (e.g., s3 or netapp). For the supported archive drivers, the configuration parameters are listed below.

s3:
  s3profile1:
    access-key: 'MGMWCOYTDUSLNCFE'
    secret-key: 'changeme'
    url: 'http://minio.infrastructure:9000'
    bucket: 'dmscloudrepodocker'
netapp:
  netapplike:
    # use mountpoint of the persistent volume claim that provides the netapp storage
    # must be the same in the deployment of the archive app
    volume: '/var/lib/netapp/data'
    defaultRetentionInDays: 10

The values for the parameters can be modified as described here.
>> Configuring Services using Profiles.

Parameters in Archive Profiles

Depending on the archive driver, the archive profiles have to be configured with specific parameters.

The defaultRetentionInDays parameter can be set in all following archive profiles and is only relevant for the ARCHIVE service. This value is used as retention time for objects that do not have a retention time specified within their metadata during their import. If defaultRetentionInDays is set to 0 which is also the default value, no retention will be set for those objects.

Parameters for S3 Archive Profiles

Use s3 as value for archiveDriverName.

ParameterDescriptionDefault Value
access-key

Access key

-
secret-keyPassword-
urlURL for S3-
bucketName of the bucket in the archive system for filing.-

defaultRetentionInDays

Retention time in days.
Note: Objects under retention can still be deleted by administrators having direct access to the S3 storage.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0

Parameters for NetApp Archive Profiles

Use netapp as value for archiveDriverName.

ParameterDescriptionDefault Value
volumeArchive location for the data to be saved.-

defaultRetentionInDays

Optional: Retention time in days.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0
enableReadOnlyOptional: Defines whether the drivers of the archive should define data to be read-only.true

Parameters for iCAS Archive Profiles

Use iternity as value for archiveDriverName.

ParameterDescriptionDefault Value
userName

Name of the user with the appropriate rights for the archive.

-
userPasswordThe user's password.-
endpointURL of the iCAS web service.-
cscMode

Storage mode for objects and meta data.

The storage mode is specified with a sequence of four parameters:

Binary Content FileMetadata
CompressionEncryptionCompressionEncryption
S (without)N (without)S (without)N (without)
L (with)S (standard)L (with)S (standard)

A (AES 256)
A (AES 259)

Example:

LSSN

The binary content file is compressed (L) and encrypted with the standard method (S); the metadata is not compressed (S) and not encrypted (N).

-
maxCreateCscSize

Determines the maximum size of containers.

The information is specified in bytes.

10000000
maxCreateCscFile

Determines the maximum number of objects for the containers.

1000
maxCreateCscSingleFileLimit

Determines the individual size limit of an object.

4000000
maxWorkChunkSize

Determines the maximum size of a single chunk.

The information is specified in bytes.

5000000

clientSslTrustStore

Optional: Resource path to a certificate trust store for encrypted communication with the web service.-

clientSslTrustStorePassword

Optional: Password for the certificate trust store.

-

defaultRetentionInDays

Retention time in days.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0

Parameters for Hitachi Content Platform Archive Profiles

Use hcp_s3 as value for archiveDriverName.

ParameterDescriptionDefault Value
access-key

Access key

-
secret-keyPassword-
urlURL for HCP-
bucketName of the bucket in the archive system for filing.-

defaultRetentionInDays

Retention time in days.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0


Parameters for Cloudian HyperStore Archive Profiles

The Cloudian Hyperstore Content Platform provides an AWS-S3-compatible rest API with few extensions used by the ARCHIVE service. In order to configure the Cloudian Hyperstore archive, you need to configure the following (S3-relevant) parameters.

Use cloudian_s3 as value for archiveDriverName.

ParameterDescriptionDefault Value
access-key

Access key

-
secret-keyPassword-
urlURL for Cloudian HyperStore-
bucketName of the bucket in the archive system for filing.-

defaultRetentionInDays

Retention time in days.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0
pathTemplateOptional: This parameter can be used to store objects in specific directories (paths) within a bucket.-


Parameters for Dell EMC ECS Archive Profiles

Use ecs_cas as value for archiveDriverName.

ParameterDescriptionDefault Value
access-key

User name

-
passwordPassword-
clusterIdNumber of the cluster that is being accessed.-
urlURL to Dell EMC ECS-
bucketName of the bucket to be displayed in the health check.-
defaultRetentionInDays

Retention time in days.

To transmit no retention time, set the value 0.

For objects with a scheduled retention time, this has priority over any times specified here.

0
calculateDigestMetadataOptional: It may be necessary to compute a digest in the getMetadata query.false
calculateDigestContentOptional: It may be necessary to compute a digest in the getContent query. The digest is sent in the Content-hash-HTTP header.false