User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

MDM Server Application Properties

This article is intended to serve as a reference point for MDM server configuration. As such, it provides an overview of the available properties and, when applicable, refers users to more comprehensive sources. The properties described here are defined in the mdm-server/etc/application.properties file. For each property, you will find information about the required data type, its default value, and a short description. The Mandatory column specifies whether a property is required for the application to run and function as expected.

MDM Solution Configuration

The following properties point to files containing additional MDM settings. The paths are relative to the mdm.serverConfig file.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.mda.config-file

String

mda-config.xml

Yes

The path to the MDM Web App configuration file (see mdm-web-app-backend-component.adoc).

ataccama.one.mdm.nme.config-file

String

nme-config.xml

Yes

The path to the MDM Engine configuration file (see MDM Engine Configuration File).

ataccama.one.mdm.dqit.config-file

String

issue_management/config.xml

Yes

The path to the DQIT configuration file.

User Settings Configuration

You can configure how and where MDM Web App user settings are stored. User settings include, for example, which columns users have chosen not to display, filter settings, column width settings, and others.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.user-settings.type

String

jdbc

Yes

  • inmemory - When the in-memory persistence is used, user settings are stored in the web server memory and are lost on server restart.

  • jdbc - When the database persistence is used, users settings are permanently stored in a database. The component creates all the necessary tables when the server is started for the first time.

Keep in mind that in HA mode the in-memory persistence cannot be used and the database persistence option might lead in some cases to inconsistent settings across nodes.

ataccama.one.mdm.user-settings.datasource

String

mdc_db

Yes

The name of the database.

ataccama.one.mdm.user-settings.table-prefix

String

us_

Yes

The tables created by the server have this prefix to distinguish them from other tables in the database.

MDM Features

Use these properties to configure specific MDM features and specify links to other applications.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.ai-matching.enabled

Boolean

false

No

Enables AI Matching in MDM Web App.

ataccama.client.connection.ai.host

String

localhost

No

The IP address or the hostname of the server where AI Matching microservices are running.

ataccama.client.connection.ai.grpc.port

String

8640

No

The number of the AI Matching gRPC port.

ataccama.one.mdm.mmm.enabled

Boolean

false

No

Enables the communication between MDM and Metadata Management Module (MMM). If set to true, the Glossary button and the link to ONE in MDM Web App navigation are shown.

ataccama.one.mdm.mmm.server-url

String

localhost:8021

No

The URL for MMM (mmm-be).

ataccama.one.mdm.mmm.webapp-url

String

localhost:8020

No

The URL to the ONE Web Application (accessible from the left navigation panel).

ataccama.one.mdm.mmm.cleaning-period

String

24

No

Defines how often the MMM node structure is updated. Accepted units: ns (nanoseconds), us `(microseconds), `ms `(milliseconds), `s (seconds), m (minutes), h (hours), d (days). If not specified, the unit is h.

ataccama.one.mdm.rdm.webapp-url

Number

8060

No

The URL shown as the RDM link in the MDM Web App navigation.

ataccama.one.mdm.notifications.enabled

Boolean

true

No

Enables MDM notifications.

`ataccama.one.mdm.dqit.enabled `

Boolean

true

No

Enables DQIT.

Keycloak Configuration

The following properties configure Keycloak. See 13.8.x@one-runtime-server:ROOT:encrypting-passwords.adoc for information about how to encrypt passwords.

Name Data type Default Value Mandatory Description

ataccama.authentication.keycloak.realm

String

ataccamaone

Yes

The name of the Keycloak realm.

ataccama.authentication.keycloak.base-url

String

localhost:8083

Yes

The Keycloak base URL.

Do not use / in the end of the URL.

ataccama.authentication.keycloak.server-url

String

${ataccama.authentication.keycloak.base-url}/auth

Yes

The URL of the server where Keycloak is running.

ataccama.authentication.keycloak.admin.client-id

String

mdm-admin-client

Yes

The client identifier used to verify the admin user authorization token.

ataccama.authentication.keycloak.admin.secret

String

mdm-admin-client-s3cret

Yes

The secret key of the client identifier for the admin account. Secret keys can be generated using Keycloak. Used by BASIC and SECRET_JWT strategies.

ataccama.authentication.keycloak.token.client-id

String

mdm-token-client

Yes

The client identifier. Used to verify a user authorization token and to log in a user.

ataccama.authentication.keycloak.token.secret

String

mdm-token-client-s3cret

Yes

The secret key of the client. Secret keys can be generated using Keycloak. Used by BASIC and SECRET_JWT strategies.

ataccama.authentication.keycloak.token.issuer

String

${ataccama.authentication.keycloak.server-url}/realms/${ataccama.authentication.keycloak.realm}

Yes

Specifies the issuer of the JWT token. Typically, Keycloak uses the URL of the realm as the token issuer.

SSL

Use these properties to set up SSL.

Name Data Type Default Value Mandatory Description

server.ssl.enabled

Boolean

true

No

Enables SSL.

server.ssl.key-store

String

/

No

The full path to the keystore.

server.ssl.key-store-password

String

/

No The password for decrypting the keystore. Used if the keystore is encrypted (recommended).

server.ssl.key-password

String

/

No

The password for the private key. Used if the private key is encrypted.

server.ssl.trust-store

String

/

No

The full path to the truststore.

server.ssl.trust-store-password

Endpoints for Monitoring

To set up monitoring for MDM, specify the following properties. For more information, see 13.8.x@one:ROOT:configuring-monitoring.adoc.

Name Data Type Default Value Mandatory Description

management.endpoints.enabled-by-default

Boolean

false

No

Enables all actuator endpoints. If set to false, it is possible to configure individually which endpoints should be enabled.

management.endpoint.info.enabled

Boolean

true

No

Enables`/info` monitoring endpoint.

management.endpoint.health.enabled

Boolean

true

No

Enables /health monitoring endpoint.

management.endpoint.prometheus.enabled

Boolean

true

No

Enables /prometheus monitoring endpoint.

management.endpoints.web.exposure.include

String

health,info,prometheus

No

A comma-separated list of exposed actuator endpoints that should provide information about the application. These endpoints track the following:

  • health - The health status of the application.

  • info - Other information about the application.

  • prometheus - Provides all metrics from the application in a format that Prometheus can scrape.

management.endpoint.health.show-details

String

always

No

Specifies how much information is provided by the health monitoring endpoint. The following values are available:

  • never - Health details are never displayed to any user.

  • when-authorized - Only authorized users have access to health information.

  • always - All users can see health details.

management.endpoint.health.show-components

String

always

No

Specifies how much detail the health monitoring endpoint provides about the application components. You can also define which components are shown. The following values are available:

  • never - Component information is never displayed to any user.

  • when-authorized - Only authorized users have access to information about components.

  • always - All users can see component details.

management.endpoint.health.status.order

String

down,out-of-service,reloading,unknown,up

No

A comma-separated list that determines how the /actuator/health monitoring endpoint prioritizes application health statuses.

management.info.git.mode

String

full

No

Configures how much information the /actuator/info monitoring endpoint retrieves from Git about the application source code repository. To show all available information from the git.properties file, set the value to full. To display only basic information, such as the name of the branch, the commit identifier, and the time the commit was made, set the value to simple.

management.endpoint.health.probes.enabled

Boolean

true

No

Enables /actuator/health/liveness and /actuator/health/readiness endpoints.

management.endpoint.health.group.liveness.include

String

diskSpace,ping

No

Defines which components are covered by the liveness probe. These components are a subset of /health components.

management.endpoint.health.group.readiness.include

String

db

No

Defines which components are covered by the readiness probe. These components are a subset of /health components.

ataccama.authentication.http.public-endpoint-restriction-filter

String

/

No

Specifies restricted endpoints that cannot be accessed. Accepts a list of URL patterns as a value.

ataccama.authentication.http.public-endpoints.<key>.endpoint-filter

String

/actuator/health/liveness,/actuator/health/readiness

No

Specifies public endpoints that are excluded from authentication. Accepts a list of URL patterns as a value. The <key> serves for identification only. By default, the key name is actuator.

ataccama.authentication.http.acl.endpoints.<key>.endpoint-filter

String

/actuator/info,/actuator/health,/actuator/prometheus

No

Specifies ACL-secured endpoints. Accepts a list of URL strings (not patterns) as a value. The <key> serves for identification only. By default, the key name is actuator.

ataccama.authentication.http.acl.endpoints.<key>.allowed-roles

String

ONE_PLATFORM_MONITORING

No

A comma-separated list of user roles allowed to access the ACL-secured endpoints. The <key> serves for identification only. By default, the key name is actuator.

management.metrics.web.server.request.autotime.enabled

Boolean

false

No

Enables timing metrics to all Spring endpoints.

MDM Admin Center Permissions

The following properties configure MDM Admin Center permissions.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.admin-center.read-only.required-roles

String

/

No

A comma-separated list of roles with read-only permissions to the MDM Admin Center.

ataccama.one.mdm.admin-center.read-only.match-if-empty

Boolean

true

No

Specifies if read-only access is given to any user in case the list of roles with read-only permissions is empty.

ataccama.one.mdm.admin-center.full-access.required-roles

String

MDM_admin

No

Specifies roles with full acces to the MDM Admin Center.

ataccama.one.mdm.admin-center.full-access.match-if-empty

Boolean

false

No

Specifies if full access is given to any user in case the list of roles with full access is empty.

MDM HTTP Server

The following properties configure the MDM HTTP server.

Name Data Type Default Value Mandatory Description

ataccama.server.http.default.port

Number

8051

Yes

The number of the default server port.

ataccama.server.http.{listener_name}.path.exclude

String

/

No

Specifies the paths that are not available on the defined listener port.

ataccama.server.http.{listener_name}.path.include

String

/

No

Specifies the paths available on the defined port (for example, HA Admin Console, see ha-admin-console.adoc, or REST API, see REST API).

ataccama.server.http.{listener_name}.port

Number

/

No

Defines the port for other added custom listener.

MDM Auditing

Use the following properties to configure auditing.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.audit.enabled

Boolean

true

No

Enables the event log.

ataccama.one.mdm.audit.writters

String

nmeAuditLogWriter,semanticLogWriter

No

A comma-separated list of audit writers. Permitted values are nmeAuditLogWriter (logging events into database) and semanticLogWriter (logging events into server console).

ataccama.one.mdm.audit.nme.table

String

EVENT_LOG

No

The name of the event log table. It is prefixed with the I_ prefix (according to how persistence is implemented in NME).

ataccama.one.mdm.audit.nme.sequence

String

EVENT_LOG_SEQ

No

The name of the ID generator sequence.

ataccama.one.mdm.audit.nme.mapping.id

String

id*

No

The name of the event log entry ID field. It is generated automatically.

ataccama.one.mdm.audit.nme.mapping.msg

String

msg*

No

The name of the event log message field.

ataccama.one.mdm.audit.nme.mapping.username

String

username*

No

The name of the event log username field.

ataccama.one.mdm.audit.nme.mapping.entity

String

entity*

No

The name of the event log entity field.

ataccama.one.mdm.audit.nme.mapping.date

String

date*

No

The name of the event log date field.

ataccama.one.mdm.audit.nme.mapping.operation

String

operation*

No

The name of the event log operation field.

ataccama.one.mdm.audit.nme.mapping.type

String

type*

No

The name of the event log type field.

ataccama.one.mdm.audit.nme.mapping.entity_id

String

entity_id*

No

The name of the event log entity_id field.

  • Default value used if no mapping properties are defined.

HA Configuration

To enable high availability (HA) mode, specify the following properties. For more information about HA, see mdm-high-availability-overview.adoc.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.ha.implementation

String

db

No

The HA implementation setting. The default value selects the database locking. Setting the value to zookeeper is possible but unsupported.

ataccama.one.mdm.ha.revoke-leadership-on-disconnect-timeout

String

15s

No

Specifies the timeout in the case of disconnection from the cloud. Can be used only if the ataccama.one.mdm.ha.implementation property is set to zookeeper. The minimum value is 3s.

ataccama.one.mdm.ha.max-active-to-passive-switching-time

String

20s

No

Defines the maximum time interval that the safety watchdog waits for switching from active to passive state of mdm_ha_node. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days).

ataccama.one.mdm.ha.load-balancer.port

Number

8058

No

The number of the port where the HA load balancer is running.

ataccama.one.mdm.ha.local-target-server.name

String

default

No

The name of the server where the MDM server instance is running.

ataccama.one.mdm.ha.local-target-server.port

String

${ataccama.server.http.${ataccama.one.mdm.ha.local-target-server.name}.port}

No

The name of the port where the MDM server instance is running.

ataccama.one.mdm.ha.server-name

String

mdm-server_1

No

The name of the server where the MDM server instance is running.

ataccama.one.mdm.ha.allow-disconnect-button

Boolean

false

No

Enables the Disconnect button in the HA console.

ataccama.one.mdm.ha.load-balancer.server

String

0.0.0.0

No

The IP address of the server where HA load balancer is running.

ataccama.one.mdm.ha.load-balancer.hostname

String

<assigned automatically>

No

Visible in the HA console. Overrides the ataccama.one.mdm.ha.server-name if defined.

ataccama.one.mdm.ha.db.name

String

mdc_db

No

The name of the HA database.

ataccama.one.mdm.ha.db.table-prefix

String

ha_

No

The table prefix for Lock and HA node.

ataccama.one.mdm.ha.db.lock-key

String

MDM_LEADER_INSTANCE

No

The key for the HA leader instance.

ataccama.one.mdm.ha.db.heartbeat.interval

Number

5000

No

Specifies how often the HA tables are updated. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days). If not specified, the unit is ms.

ataccama.one.mdm.ha.db.heartbeat.expiration

Number

30000

No

Defines the time interval after which expired entries are removed from the HA tables. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days). If not specified, the unit is ms.

ataccama.one.mdm.ha.db.heartbeat.ttl

Number

30000

No

Defines the time interval after which entries are marked as expired. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days). If not specified, the unit is ms.

ataccama.one.mdm.ha.db.election.interval

Number

5000

No

Defines the time interval after which the leadership election workflow is called. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days). If not specified, the unit is ms.

ataccama.one.mdm.ha.db.election.startup-timeout

String

${random.int(10000)}

No

Specifies the start delay of the leadership election workflow. Expressed in ms.

ataccama.one.mdm.ha.rw-additional-timeout

Number

3000ms

No

Specifies the additional delay in the case of switching from passive mode to active. The whole delay is ataccama.one.mdm.ha.max-active-to-passive-switching-time + ataccama.one.mdm.ha.rw-additional-timeout.

ataccama.one.mdm.ha.close-additional-timeout

Number

4s

No

Specifies the delay before HA is closed. Accepted units: ns (nanoseconds), us (microseconds), ms (milliseconds), s (seconds), m (minutes), h (hours), d (days).

AI Core setup

Name Data Type Default Value Mandatory Description

ataccama.one.platform.deployments.ai.uri

String

localhost:8640

Yes

The number of the port where AI Matching microservices are running.

ataccama.one.platform.deployments.ai.name

String

AI deployment

ataccama.one.platform.deployments.ai.module

String

ai

Yes

The name of the module type.

ataccama.one.platform.deployments.ai.environment

String

dev

Yes

The name of the environment.

ataccama.one.platform.deployments.ai.security.jwt-keys.key1.name

String

AI

Yes

The name of the public key.

ataccama.one.platform.deployments.ai.security.jwt-keys.key1.fingerprint

String

/

Yes

The key identifier (kid) value from the file containing the Public and Private Keypair.

ataccama.one.platform.deployments.ai.security.jwt-keys.key1.content

String

/

Yes

The value of the public key. Must use JSON syntax and be provided on a single line.

ataccama.one.platform.deployments.ai.security.jwt-keys.key1.isRevoked

Boolean

false

Yes

Specifies if the public key is valid. If set to true, the key is rejected.

ataccama.one.platform.deployments.ai.security.roles

String

IMPERSONATION

Yes

The user role used to create the service identity during authentication.

DPM Setup

If your product suite includes ONE, configure DPM using the following properties. The JWT secret and the accompanying properties for DPM that are used for communication with ONE can be found in the /opt/ataccama/one/mmm-backend/etc/application.properties configuration file. If you want to generate a new key for the connection between DPM and MDM, follow the instructions in 13.8.x@one:ROOT:generate-jwt-keys.adoc.

Name Data Type Default Value Mandatory Description

ataccama.one.platform.deployments.dpm.uri

String

localhost:8031

No

The number of the port where DPM is running.

ataccama.one.platform.deployments.dpm.name

String

MMM

ataccama.one.platform.deployments.dpm.module

String

dpm

No

The name of the module type.

ataccama.one.platform.deployments.dpm.environment

String

dev

No

The name of the environment.

ataccama.one.platform.deployments.dpm.security.jwt-keys.key1.name

String

dpm

No

The name of the public key.

ataccama.one.platform.deployments.dpm.security.jwt-keys.key1.fingerprint

String

/

No

The key identifier (kid) value from the file containing the Public and Private Keypair.

ataccama.one.platform.deployments.dpm.security.jwt-keys.key1.content

String

/

No

The value of the public key. The value must use JSON syntax and be provided on a single line.

ataccama.one.platform.deployments.dpm.security.jwt-keys.key1.isRevoked

Boolean

false

No

Specifies if the public key is valid. If set to true, the key is rejected.

ataccama.one.platform.deployments.dpm.security.roles

String

IMPERSONATION

No

The user role used to create the service identity during authentication.

MDM gRPC Server

The following property configures the MDM gRPC server.

Name Data Type Default Value Mandatory Description

ataccama.server.grpc.port

Number

8551

Yes

The number of the port where the gRPC server is running. Authentication depends on the Keycloak configuration.

Configuration Service

The following property sets whether the Configuration Service is used.

Name Data Type Default Value Mandatory Description

ataccama.config-service.runtime

String

off

Yes

Enables using the Configuration Service. Valid values: off, optional, mandatory. If set to mandatory, the module fails when there is an error connecting to the Configuration Service.

Service Private Key

Provide the service private key for MDM using the following property. The key must be set if your instance uses any of the following modules: Configuration Service, AI Matching, ONE Platform.

Name Data Type Default Value Mandatory Description

ataccama.authentication.internal.jwt.generator.key

String

/

No

The key generated for internal JWT authentication.

GraphQL and CORS

Set these properties if you use GraphQL and CORS. Otherwise, you can remove or comment them out.

Name Data Type Default Value Mandatory Description

ataccama.one.webserver.gql.default-allow

Boolean

true

No

If set to true, all roles are allowed to access the MDM GraphQL endpoint.

graphql.servlet.mapping

String

/api/graphql/mda

No

MDM uses the custom servlet mapping /api/graphql/mda instead of the default /graphql.

graphql.servlet.exceptionHandlersEnabled

Boolean

true

No

If set to true, additional data is printed to error output.

graphql.servlet.async-mode-enabled

Boolean

false

No

Enables asynchronous mode. Must be set to false to keep track of the currently logged-in user and the correlation ID that is used for auditing and logging purposes.

graphql.servlet.cors.allowed-origins

String

*

No

Specifies all origins allowed for all GraphQL tools.

graphql.servlet.cors.allowed-headers

String

*

No

Specifies all headers allowed (content-type, authorization are required).

graphql.servlet.actuator-metrics

Boolean

true

No

If set to`true`, the GraphQL metric is exposed to the actuator.

management.endpoints.web.cors.allowed-origins

String

*

No

Specifies all origins allowed for the management endpoint.

management.endpoints.web.cors.allowed-headers

String

*

No

Specifies all headers allowed.

management.endpoints.web.cors.allowed-methods

String

*

No

Specifies the HTTP methods allowed.

External Drivers Folder

You can specify the location of external drivers using the following property.

Name Data Type Default Value Mandatory Description

ataccama.one.mdm.external.drivers.paths

String

./lib-ext

No

A comma-separated list of paths to the directories with additional, non-standard drivers (relative to user.dir).

Was this page useful?