Docker
Spécificité
L'image docker de Queen décrite ici est basée sur nginx.
La configuration du nginx est surchargée par le fichier nginx.conf.
On y ajoute l'entête http : Access-Control-Allow-Origin * afin d'assurer le fonctionnement du Micro-Frontend (autrement dit : Queen en mode embarqué).
Dans l'image docker finale il y a :
- le build de l'application
- le fichier
.env - le script
env.sh
Juste avant le lancement du nginx, le script env.sh est exécuté et permet de valoriser le fichier configuration.json et le fichier oidc.json avec les variables du fichier .env surchargées par les variables d'environnements passées à l'image docker.
Les variables d'environnements utilisées sont :
- Fichier configuration.json :
| Variable | Valeur | Valeur par défaut |
|---|---|---|
| QUEEN_URL | Final URL of the Queen application | http://localhost:5000 |
| QUEEN_API_URL | URL of the back-office of Queen | https://queen-bo.dev.insee.io |
| authenticationType | The mode of authentication: 'NONE' or 'OIDC' | NONE |
- Fichier oidc.json : aucune valeur par défaut étant donné que le mode d'authentification par defaut est "NONE".
| Variable | Valeur |
|---|---|
| oidc_authority | "authority"(server d'auth + realm) |
| oidc_client_id | "oidc_client_id" (id client ) |
Récupérer l'image docker
docker pull inseefr/queen
Builder l'image docker
A la racine du projet :
yarn builddocker build -t example/queen .
Utiliser l'image docker
En ligne de commande en tapant simplement:
docker run -p 5000:80 -t inseefr/queen
Si vous souhaitez surcharger la configuration par défaut :
docker run -p 80:80 -e QUEEN_URL=http://override.value.com -e QUEEN_API_URL=... -e authenticationType=... -t inseefr/queen
Via kubernetes : un exemple de configuration est disponible ici.