From 27c7a7d48bc66a29a9f38b382668f68ca6d94206 Mon Sep 17 00:00:00 2001 From: Olivier Navas Date: Sun, 30 Jul 2023 19:15:48 +0200 Subject: [PATCH] Version sous forme de variable + fichier definition.yml specifique pour openid devient optionnel --- README.md | 21 ++++++++++++--------- defaults/main.yml | 1 + templates/definition.yml | 32 +++++++++++++++++++++++++++++--- templates/docker-compose.yml | 9 +++++++-- 4 files changed, 49 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f36e080..847b878 100644 --- a/README.md +++ b/README.md @@ -14,25 +14,28 @@ Fournir les variables suivantes. Par exemple : docker_wikijs_fqdn: wiki.libretic.fr docker_wikijs_data_dir: /data1 docker_wikijs_service_id: wikijs +docker_wikijs_version: 2.5.299 docker_wikijs_db_name: wikijs docker_wikijs_db_user: wikijsdbuser docker_wikijs_db_password: mdp_de_wikijsdbuser ``` -| Option | Valeur par défaut | Description | -|--------------------------------|-------------------|-------------------------------------------------------------------------------------------| -| docker_wikijs_fqdn | | Le nom de domaine pour lequel le service wikijs répond | -| docker_wikijs_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | -| docker_wikijs_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | -| docker_wikijs_db_name | | Nom de la base de données postgres pour wikijs | -| docker_wikijs_db_user | | Nom du user postgres propriétaire de la base de données | -| docker_wikijs_db_password | | Mot du passe du user postgres | +| Option | Valeur par défaut | Description | +|---------------------------------|-------------------|-------------------------------------------------------------------------------------------| +| docker_wikijs_fqdn | | Le nom de domaine pour lequel le service wikijs répond | +| docker_wikijs_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | +| docker_wikijs_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | +| docker_wikijs_version | | Version de wikijs souhaitée | +| docker_wikijs_db_name | | Nom de la base de données postgres pour wikijs | +| docker_wikijs_db_user | | Nom du user postgres propriétaire de la base de données | +| docker_wikijs_db_password | | Mot du passe du user postgres | +| docker_wikijs_custom_definition | | Applique une version specifique du fichier definition.yml pour openid connect | ## Fichier definition.yml -Le fichier definition.yml d'origine de wikijs est remplacé afin de modifier le nom des scopes openid. Surveiller les nouvelles versions de ce fichier dans les futures images et le corriger le cas échéant. +Si docker_wikijs_custom_definition est true, le fichier definition.yml d'origine de wikijs est remplacé afin de modifier le nom des scopes openid. Surveiller les nouvelles versions de ce fichier dans les futures images et le corriger le cas échéant. ``` scopes: diff --git a/defaults/main.yml b/defaults/main.yml index e69de29..0a3f944 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -0,0 +1 @@ +docker_wikijs_custom_definition: false diff --git a/templates/definition.yml b/templates/definition.yml index 9233905..af4b65d 100644 --- a/templates/definition.yml +++ b/templates/definition.yml @@ -36,20 +36,46 @@ props: title: User Info Endpoint URL hint: User Info Endpoint URL order: 5 + skipUserProfile: + type: Boolean + default: false + title: Skip User Profile + hint: Skips call to the OIDC UserInfo endpoint + order: 6 issuer: type: String title: Issuer hint: Issuer URL - order: 6 + order: 7 emailClaim: type: String title: Email Claim hint: Field containing the email address default: email maxWidth: 500 - order: 7 + order: 8 + displayNameClaim: + type: String + title: Display Name Claim + hint: Field containing the user display name + default: displayName + maxWidth: 500 + order: 9 + mapGroups: + type: Boolean + title: Map Groups + hint: Map groups matching names from the groups claim value + default: false + order: 10 + groupsClaim: + type: String + title: Groups Claim + hint: Field containing the group names + default: groups + maxWidth: 500 + order: 11 logoutURL: type: String title: Logout URL hint: (optional) Logout URL on the OAuth2 provider where the user will be redirected to complete the logout process. - order: 8 + order: 12 diff --git a/templates/docker-compose.yml b/templates/docker-compose.yml index 02a9909..ba7b748 100644 --- a/templates/docker-compose.yml +++ b/templates/docker-compose.yml @@ -10,6 +10,8 @@ services: POSTGRES_PASSWORD: {{ docker_wikijs_db_password }} POSTGRES_USER: {{ docker_wikijs_db_user }} TZ: Europe/Paris + healthcheck: + test: ['CMD', 'pg_isready', '-U', 'postgres'] logging: driver: "none" restart: unless-stopped @@ -21,13 +23,16 @@ services: - wikijs wiki: - image: ghcr.io/requarks/wiki:2.5.277 + image: requarks/wiki:{{ docker_wikijs_version }} volumes: + {%- if docker_wikijs_custom_definition +%} - ./definition.yml:/wiki/server/modules/authentication/oidc/definition.yml + {%- endif +%} - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro depends_on: - - db + db: + condition: service_healthy environment: DB_TYPE: postgres DB_HOST: db