mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 02:10:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # General
 | |
| application_id:                       "web-app-xwiki"
 | |
| database_type:                        "{{ applications | get_app_conf(application_id, 'docker.services.database.type') }}"
 | |
| domain:                               "{{ domains | get_domain(application_id) }}"
 | |
| 
 | |
| container_port:                       8080
 | |
| container_hostname:                   "{{ domain }}"
 | |
| 
 | |
| # XWiki
 | |
| 
 | |
| XWIKI_HOST_PORT:                      "{{ ports.localhost.http[application_id] }}"
 | |
| 
 | |
| ## URLs
 | |
| XWIKI_HOSTNAME:                       "{{ container_hostname }}"
 | |
| 
 | |
| ## Paths
 | |
| XWIKI_HOST_PROPERTIES_PATH:           "{{ [docker_compose.directories.config, 'xwiki.properties'] | path_join }}"
 | |
| XWIKI_DOCK_DATA_DIR:                  "/usr/local/xwiki"
 | |
| 
 | |
| ## Docker
 | |
| XWIKI_IMAGE_CUSTOM:                   "xwiki_custom"
 | |
| XWIKI_IMAGE:                          "{{ applications | get_app_conf(application_id, 'docker.services.xwiki.image') }}"
 | |
| XWIKI_VERSION:                        "{{ applications | get_app_conf(application_id, 'docker.services.xwiki.version') }}"
 | |
| XWIKI_CONTAINER:                      "{{ applications | get_app_conf(application_id, 'docker.services.xwiki.name') }}"
 | |
| XWIKI_DATA_VOLUME:                    "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"
 | |
| 
 | |
| # Feature toggles (must be set in config/main.yml -> features)
 | |
| XWIKI_LDAP_ENABLED:                   "{{ applications | get_app_conf(application_id, 'features.ldap') }}"
 | |
| XWIKI_OIDC_ENABLED:                   "{{ applications | get_app_conf(application_id, 'features.oidc') }}"
 | |
| XWIKI_SSO_ENABLED:                    "{{ (XWIKI_OIDC_ENABLED | bool) or (XWIKI_LDAP_ENABLED | bool) }}"
 | |
| 
 | |
| # Admin credentials (must be provided via inventory/vault)
 | |
| XWIKI_ADMIN_USER:                     "{{ users.administrator.username }}"
 | |
| XWIKI_ADMIN_GROUP:                    "{{ application_id }}-administrator"
 | |
| 
 | |
| # Superadministrator
 | |
| XWIKI_SUPERADMIN_PASSWORD:            "{{ applications | get_app_conf(application_id, 'credentials.superadminpassword') }}"
 | |
| XWIKI_SUPERADMIN_USERNAME:            "superadmin"
 | |
| 
 | |
| # REST endpoint (local inside container)
 | |
| XWIKI_REST_BASE:                      "{{ ['http://127.0.0.1:'~ XWIKI_HOST_PORT, '/rest/'] | url_join  }}"
 | |
| XWIKI_REST_XWIKI:                     "{{ [XWIKI_REST_BASE, 'wikis/xwiki'] | url_join  }}"
 | |
| XWIKI_REST_XWIKI_PAGES:               "{{ [XWIKI_REST_BASE, 'wikis/xwiki/spaces/XWiki/pages'] | url_join }}"
 | |
| 
 | |
| # LDAP configuration (mapped to LDAP.* context)
 | |
| XWIKI_LDAP_SERVER:                    "{{ LDAP.SERVER.DOMAIN }}"
 | |
| XWIKI_LDAP_PORT:                      "{{ LDAP.SERVER.PORT }}"
 | |
| XWIKI_LDAP_BASE_DN:                   "{{ LDAP.DN.ROOT }}"
 | |
| XWIKI_LDAP_BIND_DN:                   "{{ LDAP.DN.ADMINISTRATOR.DATA }}"
 | |
| XWIKI_LDAP_BIND_PASS:                 "{{ LDAP.BIND_CREDENTIAL }}"
 | |
| XWIKI_LDAP_TRYLOCAL:                  "{{ applications | get_app_conf(application_id, 'ldap.local_enabled') }}"
 | |
| XWIKI_LDAP_FIELDS_MAPPING:            "last_name={{ LDAP.USER.ATTRIBUTES.SURNAME }},first_name={{ LDAP.USER.ATTRIBUTES.FIRSTNAME }},email={{ LDAP.USER.ATTRIBUTES.MAIL }}"
 | |
| XWIKI_LDAP_ADMIN_GROUP_DN:            "cn={{ XWIKI_ADMIN_GROUP ~ ',' ~ LDAP.DN.OU.GROUPS }}"
 | |
| 
 | |
| # OIDC configuration (must exist in OIDC.* context)
 | |
| XWIKI_OIDC_PROVIDER:                  "{{ OIDC.CLIENT.ISSUER_URL }}"
 | |
| XWIKI_OIDC_AUTHORIZATION:             "{{ OIDC.CLIENT.AUTHORIZE_URL }}"
 | |
| XWIKI_OIDC_TOKEN:                     "{{ OIDC.CLIENT.TOKEN_URL }}"
 | |
| XWIKI_OIDC_USERINFO:                  "{{ OIDC.CLIENT.USER_INFO_URL }}"
 | |
| XWIKI_OIDC_LOGOUT:                    "{{ OIDC.CLIENT.LOGOUT_URL }}"
 | |
| XWIKI_OIDC_CLIENT_ID:                 "{{ OIDC.CLIENT.ID }}"
 | |
| XWIKI_OIDC_CLIENT_SECRET:             "{{ OIDC.CLIENT.SECRET }}"
 | |
| XWIKI_OIDC_SCOPES:                    "openid,email,profile,{{ RBAC.GROUP.CLAIM }}"
 | |
| XWIKI_OIDC_GROUPS_CLAIM:              "{{ RBAC.GROUP.CLAIM }}"
 | |
| XWIKI_OIDC_ADMIN_PROVIDER_GROUP:      "{{ [RBAC.GROUP.NAME, XWIKI_ADMIN_GROUP] | path_join }}"
 | |
| 
 | |
| # Collect enabled plugin items from config/main.yml
 | |
| XWIKI_PLUGINS: >-
 | |
|   {{
 | |
|     (applications | get_app_conf(application_id, 'plugins'))
 | |
|     | dict2items | selectattr('value.enabled','equalto', true)
 | |
|     | map(attribute='value.items') | list | sum(start=[])
 | |
|   }}
 |