Configuration et paramétrage technique

Les applications sont paramétrables via les fichiers *.env de docker ou des variables d’environnement. Ci-dessous l’essentiel du paramétrage pour les différents modules.

Pour en savoir plus, merci de télécharger le fichier de configuration auto-documenté associé au module concerné.

Module Web - Image dc/web_ui

Variables d’environnement

Variable Valeur par défaut Description

KEYCLOAK_CONFIG

{"url": "http://localhost:8080/auth","realm": "dc-realm","clientId": "datachain","userManagementRole" : "realm-admin"}

Configuration keycloak pour les redirection de l’interface vers le serveur d’authentification. Cette configuration DOIT être surchargée avec votre configuration réseau.

Par exemple, si keycloak est sur l’url sso.monorganisation.com, alors la configuration sera :

KEYCLOAK_CONFIG={"url": "https:sso.monorganisation.com/auth","realm": "dc-realm","clientId": "dc_front", "backendClientId": "dc_backend", "userRole" : "dc_user", "projectRole" : "dc_project", "adminRole" : "dc_admin", "memberRole" : "dc_member"}

PROXY_PASS_BACKEND

dc-backend:8089

Url interne du backend : cette variable ne devrait pas être modifiée, hormis en cas de changement de nom dns du backend, d’un point de vue réseau docker

PROXY_PASS_BACKEND_LOG

dc-backend:9000

Url interne du backend pour les logs : cette variable ne devrait pas être modifiée, hormis en cas de changement de nom dns du backend, d’un point de vue réseau docker

PROXY_PASS_SPARK_LOG1

dc-spark1:9000

Url interne de spark pour les logs : cette variable ne devrait pas être modifiée, hormis en cas de changement de nom dns du spark1, d’un point de vue réseau docker

PUBLIC_IP_PORT_443

localhost:443

Utilisée uniquement dans le cas de déploiement sans reverse proxy, ce qui est très rarement le cas dans une infrastructure de production

DOC_VERSION

Correspond à la version du serveur - ne devrait pas être modifiée, sauf cas particulier communiqué par Adobis

DOC_SERVER_URL

https://docs.adobisdc.fr

Url public du serveur de documentation Adobis

CONTENT_SECURITY_POLICY

default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval';script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline';font-src * data: blob: 'unsafe-inline';frame-ancestors * data: blob:;

Configuration de l’entête de sécurité CSP http

Module Backend - Image dc/backend

Variables d’environnement

Variable Valeur par défaut Description

DC_PG_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de surcharger spring.datasource.password

DC_PG_EXPOSE_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de surcharger spring.expose-datasource.password

DC_PG_JOB_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de surcharger spring.job-datasource.password. Si non surchargé, mais qu’il y a la valeur DC_PG_PASSWORD_FILE, alors DC_PG_PASSWORD_FILE sera utilisé

SPARK_SECURITY_USER_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de surcharger dc.app.api.spark.security.user.password (identique sur backend et spark)

KEYCLOAK_INTERNAL_CLIENT_SECRET_FILE

Nom du fichier de type "docker secret" qui permet de surcharger dc.keycloak.internal-client-secret

Fichier de configuration

<!DOCTYPE html>
<html lang="en">
<head>
  <title>404 - Sonatype Nexus Repository</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>


  <link rel="icon" type="image/png" href="../../../../../../../static/rapture/resources/safari-favicon-32x32.png?3.66.0-02" sizes="32x32">
  <link rel="mask-icon" href="../../../../../../../static/rapture/resources/favicon-white.svg?3.66.0-02" color="#00bb6c">
  <link rel="icon" type="image/png" href="../../../../../../../static/rapture/resources/favicon.svg?3.66.0-02" sizes="16x16">

  <link rel="stylesheet" type="text/css" href="../../../../../../../static/css/nexus-content.css?3.66.0-02"/>
</head>
<body>
<div class="nexus-header">
  <a href="../../../../../../..">
    <div class="product-logo">
      <img src="../../../../../../../static/rapture/resources/nxrm-reverse-icon.png?3.66.0-02" alt="Product logo"/>
    </div>
    <div class="product-id">
      <div class="product-id__line-1">
        <span class="product-name">Sonatype Nexus Repository</span>
      </div>
      <div class="product-id__line-2">
        <span class="product-spec">OSS 3.66.0-02</span>
      </div>
    </div>
  </a>
</div>

<div class="nexus-body">
  <div class="content-header">
    <img src="../../../../../../../static/rapture/resources/icons/x32/exclamation.png?3.66.0-02" alt="Exclamation point" aria-role="presentation"/>
    <span class="title">Error 404</span>
    <span class="description">Not Found</span>
  </div>
  <div class="content-body">
    <div class="content-section">
      com/adb/hdh/hdh-backend/8.1/hdh-backend-8.1-conf.properties
    </div>
  </div>
</div>
</body>
</html>

Principaux paramètres

Paramètre Valeur par défaut Description

dc.app.db.host

localhost

adresse ip ou dns de la base de données

spring.datasource.url

jdbc:postgresql://${dc.app.db.host}:5433/adobis?prepareThreshold=0&preparedStatementCacheQueries=0

chaîne de connexion JDBC

spring.datasource.username

**

nom d’utilisateur de la connexion JDBC

spring.datasource.password

**

mot de passe de la connexion JDBC

spring.datasource.jmx-enabled

false

interrupteur d’activation de la jmx pour la dataSource JDBC

spring.jpa.show-sql

false

paramètre gérant l’affichage du SQL de la dataSource JDBC dans les logs

server.port

8089

port http

server.compression.enabled

true

interrupteur d’activation de la compression http

server.compression.mime-types

application/json,application/xml,text/html,text/xml,text/plain

mime-types à compresser

server.compression.min-response-size

2KB

(en byte) compresser à partir de

spring.servlet.multipart.max-file-size

10000MB

taille maximale d’un fichier transmis par http

spring.servlet.multipart.max-request-size

10000MB

taille maximale d’une requête http

dc.app.http.upload.chunk-size

32768

taille maximale en bytes d’un tronçon de fichier transmis par http

spring.jmx.enabled

false

interrupteur d’activation jmx pour spring

management.endpoint.shutdown.enabled

true

interrupteur d’activation du service shutdown

management.server.port

9090

port http du service actuator

management.server.address

127.0.0.1

adresse réseau à laquelle les endpoints actuator doivent se lier

dc.app.backend.user.username

**

utilisateur system à créer au démarrage du service backend , utilisé par le(s) contexte(s) spark

dc.app.backend.user.password

**

password de l’utilisateur system à créer au démarrage du service backend , utilisé par le(s) contexte(s) spark

dc.app.backend.security.oauth.client.id

**

client id oauth2

dc.app.backend.security.oauth.client.secret

**

client secret oauth2

dc.app.backend.security.login.failure.retry-max-nbr

3

nombre de tentatives d’authentification maximum

dc.app.backend.security.login.failure.retry-delay

1

durée en minute du blockage du service authentification après un dépassement du dc.app.backend.security.login.failure.retry-max-nbr

dc.app.backend.security.token.validity

240

durée en minute de la validité d’une authentification

dc.app.backend.security.password-validity-delay

90

durée en jour de la validité du password

dc.app.backend.security.inactivity-max-delay

3

durée en minute maximum de l’inactivité ihm, une fois dépassé l’utilisateur est automatiquement déconnecté

dc.app.backend.security.authentication.2fa.active

false

interrupteur d’activation de l’authentification à double facteur

dc.app.backend.security.authentication.2fa.code-expiration

5

durée en minute maximum de la validité du jeton 2fa

logbook.filter.enabled

false

interrupteur d’activation de la traçabilité http

logbook.write.level

INFO

niveau de traçabilité http

dc.app.log.aspect.enable

false

interrupteur d’activation du profilage des données (calcul et log du temps d’exécution des services)

dc.app.url.web-ui

http://localhost

adresse web-ui public

dc.app.api.spark

http://localhost:8090

liste des adresses "context" spark (séparées par des virgules)

dc.app.api.spark.security.user.name

**

liste des logins "context" spark (séparées par des virgules)

dc.app.api.spark.security.user.password

**

liste des mots de passe "context" spark (séparées par des virgules)

dc.api.spark.shared-file-system

false

indiquer si les différents "context" spark partagent le même system de fichier

dc.api.spark.request-connection-timeout

10000

Temps en milliseconde de la connection-timeout avec un "context" spark

dc.api.spark.request-reading-timeout

10000

Temps en milliseconde de la reading-timeout avec un "context" spark

dc.app.ehcahce.configuration

redéfinir l’emplacement du fichier de configuration ehcache

Module Spark - Image dc/spark

Variables d’environnement

Variable Valeur par défaut Description

SPARK_SECURITY_USER_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de surcharger dc.app.api.spark.security.user.password (identique sur backend et spark)

Fichier de configuration

<!DOCTYPE html>
<html lang="en">
<head>
  <title>404 - Sonatype Nexus Repository</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>


  <link rel="icon" type="image/png" href="../../../../../../../static/rapture/resources/safari-favicon-32x32.png?3.66.0-02" sizes="32x32">
  <link rel="mask-icon" href="../../../../../../../static/rapture/resources/favicon-white.svg?3.66.0-02" color="#00bb6c">
  <link rel="icon" type="image/png" href="../../../../../../../static/rapture/resources/favicon.svg?3.66.0-02" sizes="16x16">

  <link rel="stylesheet" type="text/css" href="../../../../../../../static/css/nexus-content.css?3.66.0-02"/>
</head>
<body>
<div class="nexus-header">
  <a href="../../../../../../..">
    <div class="product-logo">
      <img src="../../../../../../../static/rapture/resources/nxrm-reverse-icon.png?3.66.0-02" alt="Product logo"/>
    </div>
    <div class="product-id">
      <div class="product-id__line-1">
        <span class="product-name">Sonatype Nexus Repository</span>
      </div>
      <div class="product-id__line-2">
        <span class="product-spec">OSS 3.66.0-02</span>
      </div>
    </div>
  </a>
</div>

<div class="nexus-body">
  <div class="content-header">
    <img src="../../../../../../../static/rapture/resources/icons/x32/exclamation.png?3.66.0-02" alt="Exclamation point" aria-role="presentation"/>
    <span class="title">Error 404</span>
    <span class="description">Not Found</span>
  </div>
  <div class="content-body">
    <div class="content-section">
      com/adb/hdh/hdh-spark/8.1/hdh-spark-8.1-conf.properties
    </div>
  </div>
</div>
</body>
</html>

Principaux paramètres

Paramètre Valeur par défaut Description

server.port

8090

port http

server.compression.enabled

true

interrupteur d’activation de la compression http

server.compression.mime-types

application/json,application/xml,text/html,text/xml,text/plain

"mime-types" à compresser

server.compression.min-response-size

2KB

compresser à partir de

dc.app.spark.app-name

HDH-SPARK

nom de l’application spark

dc.app.spark.master

local[1]

chaîne de connexion vers le master spark (spark://HOST:PORT) ou local[n] pour tourner en mode local

dc.app.spark.executor.memory

1g

mémoire allouée à un exécuteur

dc.app.spark.cores.max

1

nombre de coeurs maximum disponibles pour les exécuteurs

dc.app.spark.ui.port

4040

console de monitoring spark

dc.app.spark.blockManager.port

7010

port de communication pour les blockManager valable pour le driver (hdh-spark) et les exécuteurs (uniquement pour le mode cluster)

dc.app.spark.driver.port

7020

port de communication entre le driver (hdh-spark), le master et les exécuteurs (pour le mode cluster)

dc.app.spark.driver.host

localhost

nom d’hôte ou adresse IP du driver pour la communication entre le driver (hdh-spark), le master et les exécuteurs (pour le mode cluster)

dc.app.spark.driver.bindAddress

localhost

nom d’hôte ou adresse IP où lier les interfaces de connexion (sockets). Cette configuration outrepasse (remplace) la variable d’environnement "SPARK_LOCAL_IP" (uniquement valable pour le mode cluster)

dc.app.spark.driver.maxResultSize

1g

mémoire maximale des données sérialisées pour les partitions après une action de collection (supérieure à dc.app.take.max-object-size)

dc.app.spark.local.dir

/tmp

emplacement tmp pour les exécuteurs : il devrait se situer sur un disque dur local et rapide, du système. Il peut également se présenter sous la forme d’une liste de répertoires, séparés par des virgules, issus de différents disques.

dc.app.spark.formula.http.timeout.read

200

valeur du timeout-read en milliseconde pour les requêtes http depuis les formules

dc.app.spark.formula.http.timeout.connect

200

valeur du timeout-connect en milliseconde pour les requêtes http depuis les formules

dc.app.take.max-row

2500

nombre maximal de lignes (sur un "take")

dc.app.take.max-object-size

3932160

taille maximale des chaines de caractères en octets (sur un "take")

dc.app.jdbc.fetchSize

500000

valeur utilisée par les connecteurs de type BD, indique la taille d’un lot de données à traiter

dc.app.context.id

0

id du contexte courant (doit être unique pour un backend)

dc.app.context.name

context_0

nom du contexte courant

dc.app.context.url

http://dc-spark:8090

url du contexte courant

dc.app.api.backend

http://localhost:8089

adresse http de l’api backend

dc.app.api.maps.url

http://localhost/service/maps/udf/

adresse http de l’api google-map dans le module backend

dc.app.backend.user.username

sparktobackend

utilisateur system à créer au démarrage du service backend , utilisé par le(s) contexte(s) spark

dc.app.backend.user.password

**

password de l’utilisateur system à créer au démarrage du service backend , utilisé par le(s) contexte(s) spark

dc.app.backend.security.oauth.client.id

**

client id oauth2 du module backend

dc.app.backend.security.oauth.client.secret

**

client secret oauth2 du module backend

management.endpoint.shutdown.enabled

true

interrupteur d’activation du service shutdown

management.server.port

9090

port http du service actuator

management.server.address

127.0.0.1

adresse réseau à laquelle les endpoints actuator doivent se lier

spring.security.user.name

**

login du "context" spark

spring.security.user.password

**

mot de passe du "context" spark

logbook.filter.enabled

false

interrupteur d’activation de la traçabilité http

logbook.write.level

INFO

niveau de traçabilité http

dc.app.ehcahce.configuration

redéfinir l’emplacement du fichier de configuration ehcache

dc.app.data-file.hdfs

file:///tmp/hdh

chaîne de connexion racine HDFS

Module Postgresql Datachain - Image dc/pg

Pas de configuration spécifique Adobis. Voir https://hub.docker.com/_/postgres

Module Postgresql d’Exposition - Image dc/pg_expose

Pas de configuration spécifique Adobis. Voir https://hub.docker.com/_/postgres

Module de migration - Image dc/pg_migration

Variables d’environnement

Variable Valeur par défaut Description

PG_DC_DUMP

false

Faire un dump de la base de donnée Datachain automatiquement à chaque démarrage de cette image

PG_HOST

localhost

Nom DNS de la base de donnée : sera généralement positionné à dc-pg

PG_PORT

5432

Port de la base de donnée : Ne devrait pas être modifié

PG_USER

postgres

Utilisateur qui sera utilisé pour le dump et les migrations de tables

PG_PASSWORD

changeIt

Mot de passe qui sera utilisé pour le dump et les migrations de tables : devrait être changé via ce paramètre ou le paramètre suivant : PG_PASSWORD_FILE

PG_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le Mot de passe qui sera utilisé pour le dump et les migrations de tables : devrait être changé via ce paramètre ou le paramètre précédent : PG_PASSWORD

PG_DB

adobis

Nom de la base de donnée

PG_KC_DUMP

false

Faire un dump de la base de donnée keycloak automatiquement à chaque démarrage de cette image

PG_KC_HOST

localhost

Nom DNS de la base de donnée keycloak: sera généralement positionné à dc-pg

PG_KC_PORT

5432

Port de la base de donnée keycloak: Ne devrait pas être modifié

PG_KC_USER

postgres

Utilisateur qui sera utilisé pour le dump et les migrations de tables keycloak

PG_KC_PASSWORD_FILE

changeIt

Mot de passe qui sera utilisé pour le dump et les migrations de tables keycloak: devrait être changé via ce paramètre ou le paramètre suivant : PG_KC_PASSWORD_FILE

PG_KC_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le Mot de passe qui sera utilisé pour le dump et les migrations de tables keycloak : devrait être changé via ce paramètre ou le paramètre précédent : PG_KC_PASSWORD_FILE

PG_KC_DB

keycloak

Nom de la base de donnée

PG_EXPOSE_DUMP

false

Faire un dump de la base de donnée d’exposition Datachain automatiquement à chaque démarrage de cette image

PG_EXPOSE_DB

expose

Nom de la base de donnée d’exposition

PG_EXPOSE_HOST

localhost

Nom DNS de la base de donnée d’exposition: sera généralement positionné à dc-pg

PG_EXPOSE_PORT

5432

Port de la base de donnée d’exposition: Ne devrait pas être modifié

PG_EXPOSE_USER

postgres

Utilisateur qui sera utilisé pour le dump et les migrations de tables d’exposition

PG_EXPOSE_PASSWORD

changeIt

Mot de passe qui sera utilisé pour le dump et les migrations de tables d’exposition: devrait être changé via ce paramètre ou le paramètre suivant : PG_EXPOSE_PASSWORD_FILE

PG_EXPOSE_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le Mot de passe qui sera utilisé pour le dump et les migrations de tables d’exposition : devrait être changé via ce paramètre ou le paramètre précédent : PG_EXPOSE_PASSWORD

KC_URL

http://localhost:8080/auth

url public de keycloak : A modifier

KC_REALM

dc-realm

Royaume de sécurité pour datachain : Ne devrait être modifié qu’en cas d’installation spécifique de keycloak et de Datachain

KC_ADMIN_USERNAME

admin

Login de l’administrateur keycloak pour le royaume Master

KC_ADMIN_PASSWORD

changeIt

Mot de passe de l’administrateur keycloak pour le royaume master

KC_ADMIN_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le mot de passe de l’administrateur keycloak pour le royaume master

KC_DC_CLIENT_ID

dc_backend

Identifiant du client keycloak pour le backend : ne devrait pas être modifié

KC_DC_FRONT_CLIENT_ID

dc_front

Identifiant du client keycloak pour le front web_ui : ne devrait pas être modifié

KC_DC_EXPOSITION_CLIENT_ID

dc_exposition

Identifiant du client keycloak pour le l’api d’exposition : ne devrait pas être modifié

KC_DC_USER_ROLE_NAME

dc_user

nom du role User : ne devrait pas être modifié

KC_DC_ADMIN_ROLE_NAME

dc_admin

nom du role Admin : ne devrait pas être modifié

KC_DC_PROJECT_ROLE_NAME

dc_project

nom du role Projet : ne devrait pas être modifié

KC_DC_MEMBER_ROLE_NAME

dc_member

nom du role membre : ne devrait pas être modifié

KC_PROXY_URL

url du proxy http si présent entre keycloak de ce container (reste vide dans un cas de déploiement standard)

KC_PROXY_PORT

port du proxy http si présent entre keycloak de ce container (reste vide dans un cas de déploiement standard)

KC_PROXY_PROTOCOL

http

protocol du proxy http si présent entre keycloak de ce container (reste vide dans un cas de déploiement standard)

KC_MASTER_REALM

master

nom du royaume principal de keycloak

KC_ADMIN_CLIENT_ID

admin-cli

nom du client pour l’administration de client

Module d’authentification - Image dc/keycloak

Variables d’environnement

Pour plus d’information sur le paramétrage natif keycloak, merci de vous reporter à https://www.keycloak.org/server/all-config

Variable Valeur par défaut Description

KC_DB

postgres

Paramétrage natif keycloak - Type de base - ne pas modifier

KC_DB_URL_HOST

dc-pg-keycloak

Paramétrage natif keycloak - nom dns du serveur : ne devrait être modifié qu’en cas d’externalisation de la base de donnée

KC_DB_URL_PORT

5432

Paramétrage natif keycloak - port

KC_DB_URL_DATABASE

keycloak

Paramétrage natif keycloak - Nom de la base de donnée

KC_DB_USERNAME

postgres

Paramétrage natif keycloak - utilisateur keycloak

KC_DB_PASSWORD

changeIt

Paramétrage natif keycloak - mot de passe : A modifier via ce paramètre ou le paramètre KC_DB_PASSWORD_FILE

KC_DB_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le mot de passe de la base

KC_HEALTH_ENABLED

true

Paramétrage natif keycloak - activer les URL de monitoring

KC_METRICS_ENABLED

true

Paramétrage natif keycloak - activer les métriques de monitoring

KC_FEATURES

token-exchange

Activer l’échange de token

INTERNALIZATION_ENABLED

true

Paramétrage natif keycloak - activer l’internationalisation

INTERNALIZATION_LOCALES

["fr","en"]

Paramétrage natif keycloak - Internationalisation Anglais/Français

INTERNALIZATION_DEFAULT_LOCALE

fr

Paramétrage natif keycloak - Français par défaut

KEYCLOAK_ADMIN

admin

Paramétrage natif keycloak - Login de l’administrateur keycloak pour le royaume Master

KEYCLOAK_ADMIN_PASSWORD

changeIt

Paramétrage natif keycloak - Mot de passe de l’administrateur keycloak pour le royaume master

KEYCLOAK_ADMIN_PASSWORD_FILE

Paramétrage natif keycloak - Nom du fichier de type "docker secret" qui permet de définir le mot de passe de l’administrateur keycloak pour le royaume master

DC_DEFAULT_ADMIN_CREATE

true

Créer automatiquement le premier administrateur Datachain (utilisateur avec le role administrateur Datachain dans le royaume dc_realms)

DC_DEFAULT_ADMIN

admin

login de l’administrateur Datachain dans le royaume dc_realms

DC_DEFAULT_ADMIN_PASSWORD

changeIt

Mot de passe de l’administrateur Datachain dans le royaume dc_realms

DC_DEFAULT_ADMIN_PASSWORD_FILE

Nom du fichier de type "docker secret" qui permet de définir le mot de passe de l’administrateur Datachain dans le royaume dc_realms

DATACHAIN_CLIENT_URL

http://localhost

Url de datachain : A modifier

KEYCLOAK_FRONTEND_URL

http://localhost:8080/auth

url public de keycloak : A modifier

Module postgres d’authentification - Image dc/pg_keycloak

Pas de configuration spécifique Adobis. Voir https://hub.docker.com/_/postgres

Module de cache/ files d’attentes - Image dc/redis

Pas de configuration spécifique Adobis. Voir https://redis.io/docs/management/config/