Files
computer-playbook/roles/web-app-xwiki/config/main.yml
Kevin Veen-Birkenbach c274c1a5d4 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
2025-09-17 05:08:02 +02:00

64 lines
1.4 KiB
YAML

credentials: {}
docker:
services:
redis:
enabled: false
database:
enabled: true
type: postgres
xwiki:
image: xwiki
version: lts-<< defaults_applications[web-app-xwiki].docker.services.database.type >>-tomcat
name: xwiki
backup:
no_stop_required: true
volumes:
data: "xwiki_data"
features:
matomo: true
css: true
desktop: true
central_database: true
logout: true
oidc: true
ldap: false # Just OIDC or LDAP can be enabled
server:
csp:
whitelist:
worker-src:
- "blob:"
flags:
script-src:
unsafe-eval: true
script-src-elem:
unsafe-inline: true
domains:
canonical:
- "x.wiki.{{ PRIMARY_DOMAIN }}"
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"