refactor(xwiki): move extension installer logic into static Groovy file and switch to plugins dict

- Added 'plugins' section in config/main.yml to declare enabled extensions in a structured way
- Introduced new static file 'files/extension_installer_b64.groovy' that decodes Base64 JSON of requested plugins
- Simplified 04_extensions.yml: now builds installer code from static file and removed hardcoded OIDC/LDAP checks
- Dropped redundant XWIKI_EXT_* variables in vars/main.yml
- Added XWIKI_PLUGINS fact to collect enabled plugin items from config/main.yml

This refactor makes extension installation more generic, easier to unit test, and extendable beyond OIDC/LDAP.

See: https://chatgpt.com/share/68ca25e3-cbc4-800f-a45e-2b152369811a
This commit is contained in:
2025-09-17 05:08:02 +02:00
parent 62493ac5a9
commit c274c1a5d4
4 changed files with 82 additions and 85 deletions

View File

@@ -39,3 +39,25 @@ rbac:
roles: {}
ldap:
local_enabled: true # Allows local login if LDAP is down
plugins:
oidc:
enabled: true
items:
- id: "org.xwiki.contrib.oidc:oidc-authenticator"
version: "2.19.2"
# - id: "org.xwiki.contrib.oidc:oidc-authenticator-ui"
# version: "" # let EM choose a compatible version
ldap:
enabled: false
items:
- id: "org.xwiki.contrib.ldap:ldap-authenticator"
version: "9.15.7"
# Example for Matomo
matomo:
enabled: false
items:
- id: "org.xwiki.contrib:matomo"
version: "1.0"