Aller au contenu

Installation Docker

LATEST tag

Le tag LATEST dans Docker Hub fait référence à la derniÚre image stable publiée, pas nécessairement à la version la plus avancée. Les tags de développement tels que nightly, IT (Tests d'Intégration) et RC (Release Candidate) ne sont pas pris en compte.

Par exemple, considérons le scénario suivant :

  • Les versions d'images sont publiĂ©es sur Docker Hub dans l'ordre suivant : 8.0.0, 7.5.2, 8.1.0.RC1 et nightly.
  • Dans ce cas, le tag LATEST pointera vers la version 7.5.2.

Conformément aux bonnes pratiques Docker, il est recommandé d'éviter l'utilisation du tag LATEST et de spécifier plutÎt des numéros de version explicites.

DĂ©marrage rapide

Lancez l'image Squash TM avec une base H2 embarquée (uniquement à des fins de démo) :

docker run --name='squash-tm' -it -p 8090:8080 squashtest/squash:8.0.0
Pour lancer le conteneur en mode daemon, utilisez l'option -d pour lancer le conteneur en mode daemon.

Attendez quelques minutes pour que l'application démarre, surtout si la base de données est peuplée pour la premiÚre fois. Pour vérifier que tout s'est bien passé, consultez les logs :

docker logs squash-tm -f

Allez Ă  http://localhost:8090/squash ou pointez vers l'adresse IP de l'hĂŽte Docker.

Les login et mot de passe par défaut sont "admin" et "admin".

Configuration

Variables d'environnement

AccÚs à la base de données

Variable Description H2 défaut MariaDB défaut PostgreSQL défaut
SQTM_DB_TYPE Soit h2, mariadb ou postgresql (special) (special) (special)
SQTM_DB_HOST Nom de l'hÎte du serveur de base de données (unused) mariadb postgres
SQTM_DB_PORT Port du serveur de base de données (unused) 3306 5432
SQTM_DB_NAME Nom de la base de données (unused) squashtm squashtm
SQTM_DB_SCHEMA * Nom du schéma (unused) $DB_NAME public
SQTM_DB_USERNAME Username pour Squash TM (unused) root root
SQTM_DB_PASSWORD Mot de passe pour Squash TM (unused) (none) (none)

Notes :

  • (none) : la variable est obligatoire et n'a pas de valeur par dĂ©faut ;
  • (special) : voir ci-dessous ;
  • (*) : expĂ©rimental, devrait ĂȘtre stable mais n'a pas encore fait l'objet de tests approfondis ;
  • (unused) : la variable n'a pas de signification pour ce serveur de base de donnĂ©es. Pour H2, ces valeurs sont codĂ©es en dur dans les paramĂštres internes par dĂ©faut de Squash TM.

Variable SQTM_DB_TYPE

SQTM_DB_TYPE a un impact sur les valeurs par défaut de plusieurs autres variables. La bonne pratique est de la définir explicitement.
Veillez à saisir correctement la valeur souhaitée (par exemple postgresql et non postgres), sinon l'application ne démarrera pas. La valeur par défaut est h2, une base de données intégrée prévue à des fins d'installation de test rapide et de déploiement simplifié. Elle est fortement déconseillée en production.

Dans les précédentes versions de l'image, cette variable était uniquement interne et sa valeur était impliquée par l'existence d'autres variables qui sont maintenant dépréciées (voir ci-dessous).
Ce mécanisme est toujours fonctionnel : si SQTM_DB_TYPE n'est pas définie mais que toute variable de la forme MARIADB_ENV_* ou POSTGRES_ENV_* est configurée, alors la valeur de SQTM_DB_TYPE sera implicitement résolue.
Néanmoins, les variables de la forme SQTM_* sont prioritaires. (Ce mécanisme secondaire cessera de fonctionner lorsque les variables dépréciées seront supprimées.)

Autres variables utiles

Squash TM est une application Spring Boot ; à ce titre, elle bénéficie d'un mécanisme de configuration flexible, voir la documentation ici.
Nous décrivons ici deux variables d'environnement qui pourraient vous aider à configurer votre instance et éventuellement à éliminer la nécessité de gérer les fichiers de configuration habituels.

En plus des propriĂ©tĂ©s spĂ©cifiques Ă  Squash TM, n'oubliez pas que la plateforme Spring elle-mĂȘme peut ĂȘtre configurĂ©e.
La rĂ©fĂ©rence peut ĂȘtre trouvĂ©e ici et peut vous aider Ă  adapter votre conteneur Ă  votre infrastructure, surtout les propriĂ©tĂ©s du serveur (qui commencent par le prĂ©fixe server.).

Fuseau horaire

Vous pouvez ajuster les paramĂštres du fuseau horaire de votre conteneur Ă  l'aide de la variable d'environnement TZ.

Par exemple, pour définir votre fuseau horaire à GMT +2, ajoutez le paramÚtre suivant à la commande docker run :

--env TZ=Europe/Paris

Configuration de l'application avec JAVA_TOOL_OPTIONS

Cette variable standard dans le monde Java permet de personnaliser le processus JVM mĂȘme lorsque la ligne de commande n'est pas facilement disponible (ce qui est le cas ici) et peut ĂȘtre exploitĂ©e pour, par exemple, configurer l'accĂšs via des proxys authentifiĂ©s, etc.
Bien que prĂ©vu Ă  l'origine pour le rĂ©glage de la JVM uniquement, il peut Ă©galement ĂȘtre exploitĂ© pour la configuration d'applications.
Toute propriĂ©tĂ© qui pourrait ĂȘtre dĂ©finie dans les fichiers de configuration habituels peut ĂȘtre dĂ©finie Ă  la place dans cette variable d'environnement.

Chaque paire property=value doit ĂȘtre prĂ©fixĂ©e par -D et sĂ©parĂ©e par un espace ou par un autre caractĂšre de sĂ©paration.

Il y a cependant quelques rĂ©serves. Elle ne peut pas encore ĂȘtre utilisĂ©e pour configurer le heap size (cela fonctionne bien pour les autres flags de la JVM).
Une autre limitation est qu'elle ne peut par ĂȘtre complĂ©tĂ©e mais seulement redĂ©clarĂ©e. Le dockerfile dĂ©finit sa valeur par dĂ©faut Ă  -Djava.awt.headless=true, qui est nĂ©cessaire parce que Squash TM fonctionne dans un environnement Linux non GUI. Si vous ne devez pas en tenir compte, n'oubliez pas de rĂ©introduire manuellement ce paramĂštre (sinon vous risquez de rencontrer des problĂšmes lors de la gĂ©nĂ©ration et de l'export de rapports).
Ces inconvénients proviennent d'archaïsmes dans le script de démarrage et seront corrigés dans les prochaines versions.

Exemple : Lancer Squash TM avec le fuseau horaire des Fidji et activer tous les endpoints de Sprint Boot Actuator (à utiliser avec précaution, car cela exposera les paramÚtres sensibles !)

export SQTM_OPTS="-Djava.awt.headless=true \
                    -Duser.timezone=Pacific/Fiji \
                    -Dmanagement.endpoints.enabled-by-default=true \
                    -Dmanagement.endpoints.web.exposure.include=*"

docker run --rm -d -p 8090:8080 -e JAVA_TOOL_OPTIONS="$SQTM_OPTS" squashtest/squash:8.0.0

Configuration de l'application avec SPRING_APPLICATION_JSON

Cette variable d'environnment est une autre maniĂšre de transmettre la configuration Ă  l'application. Comme son nom l'indique, la configuration devrait ĂȘtre fournie sous la forme d'un JSON string.
Contrairement Ă  la variable JAVA_TOOL_OPTIONS, SPRING_APPLICATION_JSON ne peut pas ĂȘtre utilisĂ©e le rĂ©glage de la JVM (c'est-Ă -dire qu'elle ne prend en charge que les propriĂ©tĂ©s Squash TM et Spring), mais elle offre des possibilitĂ©s intĂ©ressantes et plus satisfaisantes d'un point de vue sĂ©mantique que les contournements avec JAVA_TOOL_OPTIONS.

Exemple : activer la prise en charge du déchargement SSL

cat << EOF > tmconf.json
{
    "server": {
        "use-forward-headers": true
    }
}
EOF

docker run --rm -d -p 8090:8080 -e SPRING_APPLICATION_JSON="$(jq -c . < tmconf.json)" squashtest/squash:8.0.0

DĂ©ploiement de Squash TM

Les sections suivantes montrent comment déployer Squash TM en utilisant un conteneur externe PostgreSQL DB ou MariaDB. Des exemples de fichiers yml montrent aussi comment déployer cette solution en utilisant docker-compose ou Kubernetes.

Avec PostgreSQL

La base de données est créée par le conteneur de la base de données et est automatiquement peuplée par le conteneur de l'application au premier lancement ou mise à jour si nécessaire lorsqu'une version plus récente de Squash TM est déployée.

Toutes les donnĂ©es de la base de donnĂ©es seront sauvegardĂ©es dans le volume local nommĂ© squash-tm-db-pg. De ce fait, le conteneur de base de donnĂ©es (appelĂ© squash-tm-pg) peut ĂȘtre arrĂȘtĂ© et redĂ©marrĂ© sans risque de perte de donnĂ©es.

docker network create squash-tm-postgresql

docker run -it -d --name='squash-tm-pg' \
--network squash-tm-postgresql \
-e POSTGRES_USER=squashtm \
-e POSTGRES_PASSWORD=MustB3Ch4ng3d \
-e POSTGRES_DB=squashtm \
-v squash-tm-db-pg:/var/lib/postgresql/data \
postgres:13 

sleep 10

docker run -it -d --name=squash-tm \
--network squash-tm-postgresql \
-e SQTM_DB_TYPE=postgresql \
-e SQTM_DB_USERNAME=squashtm \
-e SQTM_DB_PASSWORD=MustB3Ch4ng3d \
-e SQTM_DB_NAME=squashtm \
-e SQTM_DB_HOST=squash-tm-pg \
-v squash-tm-logs:/opt/squash-tm/logs \
# Décommentez ci-dessous si vous souhaitez activer les plugins intégrés.
#-v your/path/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg \
-p 8090:8080 \
squashtest/squash:8.0.0

Attendez quelques minutes le temps que Squash TM initialise la base de données. Ensuite, connectez-vous à http://localhost:8090/squash (admin / admin).

Si vous disposez de vos propres plugins, ajoutez -v squash-tm-plugins:/opt/squash-tm/plugins (voir ici).

Avec MariaDB

La base de données est créée par le conteneur de la base de données et est automatiquement peuplée par le conteneur de l'application au premier lancement ou mise à jour si nécessaire lorsqu'une version plus récente de Squash-TM est déployée.

Toutes les donnĂ©es de la base de donnĂ©es seront sauvegardĂ©es dans le volume local nommĂ© squash-tm-db-mdb. De ce fait, le conteneur de base de donnĂ©es (appelĂ© squash-tm-mdb) peut ĂȘtre arrĂȘtĂ© et redĂ©marrĂ© sans risque de perte de donnĂ©es.

docker create network squash-tm-mariadb

docker run -it -d --name='squash-tm-mdb' \
--network squash-tm-mariadb \
-e MARIADB_ROOT_PASSWORD=MustB3Ch4ng3d \
-e MARIADB_USER=squashtm \
-e MARIADB_PASSWORD=MustB3Ch4ng3d \
-e MARIADB_DATABASE=squashtm \
-v squash-tm-db-mdb:/var/lib/mysql \
mariadb:10.6 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

sleep 10

docker run -it -d --name=squash-tm \
--network squash-tm-mariadb \
-e SQTM_DB_TYPE=mariadb \
-e SQTM_DB_USERNAME=squashtm \
-e SQTM_DB_PASSWORD=MustB3Ch4ng3d \
-e SQTM_DB_NAME=squashtm \
-e SQTM_DB_HOST=squash-tm-mdb \
-v squash-tm-logs:/opt/squash-tm/logs \
# Décommentez ci-dessous si vous souhaitez activer les plugins intégrés.
#-v your/path/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg \
-p 8090:8080 \
squashtest/squash:8.0.0

Attendez quelques minutes le temps que Squash TM initialise la base de données. Ensuite, connectez-vous à http://localhost:8090/squash (admin / admin).

Si vous disposez de vos propres plugins, ajoutez -v squash-tm-plugins:/opt/squash-tm/plugins (voir ici).

Docker-Compose

Fichier docker-compose.yml

L'exemple suivant de docker-compose.yml lie Squash TM Ă  une base de donnĂ©es MariaDB. Les variables d'environnement doivent ĂȘtre dĂ©finies dans un fichier .env (enregistrĂ© dans le mĂȘme dĂ©pĂŽt que le fichier docker-compose.yml).

version: '3.7'
services:
  squash-tm-md:
    image: mariadb:10.6
    environment:
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MARIADB_USER: ${DB_USER}
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_DATABASE: ${DB_DATABASE}
    volumes:
      - "/var/lib/mysql-db:/var/lib/mysql"

  squash-tm:
    image: squashtest/squash:8.0.0
    depends_on:
      - squash-tm-md
    environment:
      SQTM_DB_TYPE: mariadb
      SQTM_DB_USERNAME: ${DB_USER}
      SQTM_DB_PASSWORD: ${DB_PASSWORD}
      SQTM_DB_NAME: ${DB_DATABASE}
    ports:
      - 8090:8080/tcp
    links:
      - squash-tm-md:mariadb
    volumes:
      - squash-tm-logs:/opt/squash-tm/logs
      # Décommentez ci-dessous si vous souhaitez activer les plugins intégrés.
      #- your/path/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg 

volumes:
  squash-tm-logs:
Et le fichier .env :

DB_USER=squashtm
DB_PASSWORD=MustB3Ch4ng3d
DB_DATABASE=squashtm

Si vous disposez de vos propres plugins, ajoutez dans les volumes : squash-tm-plugins:/opt/squash-tm/plugins (voir ici).

Exécuter un docker-compose

  1. Copiez le docker-compose.yml qui correspond Ă  votre besoin.
    Vous trouverez plusieurs répertoires docker-compose sur notre GitLab :

  2. N'oubliez pas de créer un fichier .env (ou de définir la valeur des variables d'environnement directement dans le fichier docker-compose.yml) ;

  3. Dans le répertoire de docker-compose.yml, exécutez docker-compose up ou docker-compose up -d pour le mode daemon ;

  4. Connectez-vous Ă  http://localhost:8090/squash ou http://{host_ip}:8090/squash.

Pour plus d'information au sujet de docker-compose, voir la documentation.

Installation de la licence

Les instructions pour l'installation de la licence et des plugins Squash TM sont disponibles ici.

Utilisation du conteneur Squash TM avec un reverse proxy

Deux exemples de docker-compose.yml permettant de déployer Squash TM derriÚre un reverse proxy sont disponibles sur notre GitLab :

Ces solutions utilisent une image docker de jwilder basée sur nginx-proxy.

Voici un exemple de Squash TM déployé derriÚre un reverse-proxy en utilisant une base de données PostgreSQL :

version: '3.7'
services:
  squash-tm-pg:
    container_name: squash-tm-pg
    environment:
      POSTGRES_DB: ${DB_DATABASE}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USER}
    image: postgres:13
    volumes:
      - /var/lib/db-postgresql:/var/lib/postgresql/data
    networks:
      - db-network

  squash-tm:
    depends_on:
      - squash-tm-pg
    environment:
      SQTM_DB_USERNAME: ${DB_USER}
      SQTM_DB_PASSWORD: ${DB_PASSWORD}
      SQTM_DB_NAME: ${DB_DATABASE}
      VIRTUAL_HOST: mysquash.example.com
    ports:
      - 8090:8080/tcp
    image: squashtest/squash:8.0.0
    links:
      - squash-tm-pg:postgres
    volumes:
      - squash-tm-logs:/opt/squash-tm/logs
      # Décommentez ci-dessous si vous souhaitez activer les plugins intégrés.
      #- your/path/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg 
    networks:
      - nginx-proxy
      - db-network

  nginx-proxy:
    container_name: nginx
    image: jwilder/nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - nginx-proxy

volumes:
  squash-tm-logs:

networks:
  nginx-proxy:
  db-network:

Et le fichier .env :

DB_USER=squashtm
DB_PASSWORD=MustB3Ch4ng3d
DB_DATABASE=squashtm

Si vous disposez de vos propres plugins, ajoutez dans les volumes : squash-tm-plugins:/opt/squash-tm/plugins (voir ici).

Kubernetes

Le manifeste Kubernetes exemple de Squash TM se trouve ici.

Pour cette installation rapide, un cluster k8s ou minikube est nécessaire.

1) Premium uniquement : Créer un secret à partir du fichier de licence :

kubectl create secret generic squashtm-prod-license --from-file=licensefile=./squash-tm.lic

2) Facultatif : Activer les plugins intégrés et configurer Squash TM grùce à des configMaps :

À l'aide de la documentation, modifier le fichier start-plugins.cfg et squash.tm.cfg.properties:

  • Le fichier d'activation des plugins start-plugins.cfg est dĂ©fini ici et le lien vers la documentation ici.
  • Le fichier de configuration squash.tm.cfg.properties est dĂ©fini ici.

Créer les configMaps :

kubectl create configmap config-squash-tm --from-file=./squash.tm.cfg.properties
kubectl create configmap config-plugin-tm --from-file=./start-plugins.cfg

NOTE : Les deux fichiers sont indépendamment facultatifs.

3) Exécuter le déploiement :

Dépendamment des étapes 1 ou 2, dans le fichier exemple, décommenter les lignes correspondantes.

kubectl apply -f ./squash-mariadb.yaml # ou postgresql

4) Accéder à Squash TM :

  • Avec minikube :
sudo minikube tunnel # Nécessaire pour accéder au loadbalancer

L'adresse de Squash est alors http://localhost:8080/squash.

  • Sur un cluster k8s :

Récupérer l'IP du service avec la commande ci-dessous.

kubectl get svc 

Récupérer l'External IP.
L'adresse de Squash est alors http://<EXTERNAL-IP>:8080/squash.

Utilisation des plugins intégrés

L'image Squash TM, version 6.0.0 et ultérieure, intÚgre tous les plugins officiels de Squash TM.
Comme l'image vise Ă  ĂȘtre prĂȘte pour Kubernetes, il n'est plus nĂ©cessaire de tĂ©lĂ©charger et de monter un volume avec les plugins en tant que fichiers JAR.
Cela est remplacé par un configmap à attacher dans le répertoire conf.

Attention

Cette fonctionnalité ne concerne que l'image Docker. L'installation serveur, à l'aide du jar, nécessite toujours une installation manuelle des plugins.

Afin d'activer un plugin, l'utilisateur doit remplacer le fichier de configuration dans le chemin spécifié /opt/squash-tm/conf/start-plugins.cfg.
Le fichier se situe ici ou bien dans l'image au chemin spécifié.

Pour attacher et surcharger le fichier existant dans l'image :

  • Dans Docker, utiliser le volume : -v $(pwd)/conf/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg
  • Dans Kubernetes, utiliser une configmap :

    volumeMounts:
    - name: plugins-config
      mountPath: /opt/squash-tm/conf/start-plugins.cfg
      subPath: start-plugins.cfg
    

Pour activer un plugin il suffit de dĂ©commenter la ligne. Exemple : |# apt-rest ---> |api-rest (oĂč | reprĂ©sente le bord gauche du fichier).
Les plugins intĂ©grĂ©s sont ceux de la derniĂšre version compatible avec le cƓur de Squash TM.

Info

Conformément à la documentation, il est toujours possible d'installer manuellement des plugins comme ici

Voici une liste complĂšte des plugins intĂ©grĂ©s disponibles pour chaque licence, qui peuvent ĂȘtre activĂ©s lors du dĂ©ploiement de Squash via une image Docker. Pour activer des plugins spĂ©cifiques, il suffit de mapper le fichier comme suit : path/to/your/file/start-plugins.cfg:/opt/squash-tm/conf/start-plugins.cfg. Commenter les plugins qui ne doivent pas ĂȘtre installĂ©s.

Bien que la licence Ultimate permette l'utilisation des plugins Community, il n'est pas possible d'utiliser les deux types d'un mĂȘme plugin en mĂȘme temps.

La liste exhaustive des plugins avec leurs descriptions est disponible ici et leurs versions téléchargeables ici.
Une fois qu'un plugin a Ă©tĂ© activĂ©, il ne peut ĂȘtre supprimĂ© que manuellement.

#### Autom-DevOps ####
scm-git

#### Bugtracker ####
bugzilla
gitlab

#### Report ####
report-books-pdf

#### Sync ####
xsquash4gitlab
#### API ####
api-rest-admin

#### Autom-DevOps ####
scm-git

#### Bugtracker ####
azure-devops
bugzilla
gitlab
jiracloud
jiradatacenter
redmine
rtc
tuleap

#### Premium ####
squash-tm-premium

#### Report ####
report-books-pdf
campaign-execution

#### Security ####
ad
ldap
saml
openid-connect

#### Sync ####
redmine-requirements
xsquash4gitlab

#### Wizard ####
campaignassistant
#### API ####
api-rest-admin

#### Autom-DevOps ####
scm-git

#### Autom JIRA ####
workflow-automjira

#### Bugtracker ####
azure-devops
bugzilla
gitlab
jiracloud
jiradatacenter
redmine
rtc
tuleap

#### Premium ####
squash-tm-premium

#### Report ####
report-books-pdf
campaign-execution

#### Security ####
ad
ldap
saml
openid-connect

#### Sync ####
redmine-requirements
xsquash4gitlab

#### Wizard ####
campaignassistant

Sauvegarde des données avec des volumes persistants

Comme vous le savez peut-ĂȘtre dĂ©jĂ , dans Docker, les donnĂ©es sont gĂ©nĂ©ralement conservĂ©es dans des volumes.

Ainsi, afin d'utiliser correctement l'image Squash TM, il est fortement recommandé de configurer une base de données externe (MariaDB ou PostgreSQL).

Chacune de ces configurations permet de créer un volume persistant pour les données.

/var/lib/postgresql/data     # Data location using PostgreSQL
/var/lib/mysql               # Data location using MariaDB

De plus, si votre objectif est d'utiliser l'image de Squash TM en production, il sera probablement pertinent de conserver l'emplacement suivant dans un volume afin de garder des traces des logs.

/opt/squash-tm/logs          # Log directory

Pour plus d'informations, consultez la section Managing data in containers dans la documentation Docker.

Annexes

Variables d'environnement des bases de données

Étant donnĂ© que nous utilisons souvent des images de conteneurs de base de donnĂ©es existants, nous mettons ici en Ă©vidence une sĂ©lection de variables d'environnement pertinentes pour plus de commoditĂ©, ainsi que des liens menant Ă  leur documentation.

Variables d'environnement de l'image PostgreSQL

POSTGRES_PASSWORD

Cette variable d'environnement définit le mot de passe du superutilisateur pour PostgreSQL. Le superutilisateur par défaut est défini par la variable d'environnement POSTGRES_USER.

POSTGRES_USER

Cette variable d'environnement optionnelle est utilisée en conjonction avec POSTGRES_PASSWORD pour définir un utilisateur et son mot de passe.
Cette variable crĂ©era l'utilisateur spĂ©cifiĂ© avec le pouvoir de super-utilisateur et une base de donnĂ©es avec le mĂȘme nom. Si elle n'est pas spĂ©cifiĂ©e, l'utilisateur par dĂ©faut postgres sera utilisĂ©.

POSTGRES_DB

Cette variable d'environnement optionnelle peut ĂȘtre utilisĂ©e pour dĂ©finir un nom diffĂ©rent pour la base de donnĂ©es par dĂ©faut crĂ©Ă©e lors de la premiĂšre exĂ©cution. Si elle n'est pas spĂ©cifiĂ©e, la valeur de POSTGRES_USER sera utilisĂ©e.

Pour plus d'informations et de variables d'environnement optionnelles, consultez la documentation de l'image PostgreSQL.

Variables d'environnement de l'image MariaDB

MARIADB_ROOT_PASSWORD

Cette variable est obligatoire et spécifie le mot de passe qui sera défini pour le compte superutilisateur root de MariaDB.

MARIADB_DATABASE

Cette variable est facultative et vous permet de spécifier le nom d'une base de données à créer au démarrage de l'image. Si un utilisateur et un mot de passe ont été fournis, cet utilisateur se verra accorder l'accÚs superutilisateur correspondant à GRANT ALL sur cette base de données.

MARIADB_USER, MARIADB_PASSWORD

Ces variables sont optionnelles, utilisées conjointement pour créer un nouvel utilisateur et définir son mot de passe. Cet utilisateur se verra accorder les permissions de superutilisateur (voir ci-dessus) pour la base de données spécifiée par la variable MARIADB_DATABASE. Ces deux variables sont nécessaires pour créer un utilisateur.

Notez qu'il n'est pas nécessaire d'utiliser ce mécanisme pour créer le superutilisateur root, cet utilisateur est créé par défaut avec le mot de passe spécifié par la variable MARIADB_ROOT_PASSWORD.

Pour plus d'informations et pour connaĂźtre les variables d'environnement optionnelles, consultez la documentation de l'image MariaDB.

UID et GID

À partir de Squash 6.1.0, le processus principal s'exĂ©cutera en tant que uid=1000 et gid=1000 (connu sous le nom de squashtm:squashtm Ă  l'intĂ©rieur du conteneur). Depuis Squash 1.21.4, le processus s'exĂ©cutait en tant que uid=100 et gid=101, et avant cela en tant que root.

Dans le cadre d'un dĂ©ploiement utilisant Kubernetes, si vous utilisez un Security Context, les valeurs suivantes doivent ĂȘtre entrĂ©es :

securityContext:
    runAsUser: 1000
    runAsGroup: 1000
    fsGroup: 1000

Variables d'environnement dépréciées

Les versions 1.21.1 et antérieures de cette image définissaient un ensemble différent de variables qui sont désormais dépréciées.

Elles sont toujours acceptées par les images plus récentes, donc votre ancien descripteur de déploiement fonctionnera toujours jusqu'à nouvel ordre. Cependant, les variables listées dans ce tableau ci-dessus restent la meilleure façon de le configurer.

La seule exception est MARIADB_ENV_MARIADB_ROOT_PASSWORD, qui a été définitivement supprimée et n'est plus supportée.

Lorsque l'une de ces variables dépréciées est en conflit avec une variable équivalente plus récente, c'est la nouvelle variable qui a la priorité.

Variables d'environnement spécifiques à MySQL/MariaDB dépréciées

  • MYSQL_ENV_MYSQL_ROOT_PASSWORD: dĂ©finitivement supprimĂ©e
  • MYSQL_ENV_MYSQL_USER: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_USERNAME
  • MYSQL_ENV_MYSQL_PASSWORD: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_PASSWORD
  • MYSQL_ENV_MYSQL_DATABASE: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_NAME

Variables d'environnement spécifiques à PostgreSQL dépréciées

  • POSTGRES_ENV_POSTGRES_USER: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_USERNAME
  • POSTGRES_ENV_POSTGRES_PASSWORD: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_PASSWORD
  • POSTGRES_ENV_POSTGRES_DB: Ă©quivalent de (et remplacĂ©e par) SQTM_DB_NAME

Références