---
application_id: "web-app-xwiki"
entity_name: "{{ application_id | entity_name }}"
domain: "{{ lookup('domain',application_id) }}"
container_hostname: "{{ lookup('container_hostname', application_id) }}"
XWIKI_HOST_PORT: "{{ lookup('config', application_id, 'services.xwiki.ports.local.http') }}"
XWIKI_HOSTNAME: "{{ container_hostname }}"
XWIKI_URL: "{{ lookup('tls', application_id, 'url.origin') }}"
XWIKI_HOST_PROPERTIES_PATH: "{{ [lookup('container', application_id, 'directories.config'), 'xwiki.properties'] | path_join }}"
XWIKI_DOCK_DATA_DIR: "{{ lookup('volume', 'web-app-xwiki', 'data').target }}"
XWIKI_IMAGE: "{{ lookup('config', application_id, 'services.xwiki.image') }}"
XWIKI_VERSION: "{{ lookup('config', application_id, 'services.xwiki.version') }}"
XWIKI_CORE_VERSION: "{{ (XWIKI_VERSION | string).split('-') | first }}"
XWIKI_CONTAINER: "{{ lookup('config', application_id, 'services.xwiki.name') }}"
XWIKI_CONTAINER_ADDRESS: "{{ lookup('container_address', application_id, entity_name) }}"
XWIKI_LDAP_ENABLED: "{{ lookup('config', application_id, 'services.ldap.enabled') }}"
XWIKI_OIDC_ENABLED: "{{ lookup('config', application_id, 'services.sso.enabled') }}"
XWIKI_SSO_ENABLED: "{{ (XWIKI_OIDC_ENABLED | bool) or (XWIKI_LDAP_ENABLED | bool) }}"
XWIKI_ADMIN_USER: "{{ lookup('users', 'platform_administrator').username }}"
XWIKI_ADMIN_PASSWORD: "{{ lookup('users', 'platform_administrator').password }}"
XWIKI_ADMIN_REFERENCE: "XWiki.{{ XWIKI_ADMIN_USER }}"
XWIKI_ADMIN_GROUP: "administrator"
XWIKI_ADMIN_GROUP_PAGE: "XWikiAdminGroup"
XWIKI_SUPERADMIN_PASSWORD: "{{ lookup('config', application_id, 'secrets.credentials.superadminpassword') }}"
XWIKI_SUPERADMIN_USERNAME: "superadmin"
XWIKI_DOCKER_REACH_URL: "http://{{ DOCKER_REACH_HOST }}:{{ XWIKI_HOST_PORT }}"
XWIKI_REST_BASE: "{{ [XWIKI_DOCKER_REACH_URL, '/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 }}"
XWIKI_REST_DESCRIPTOR: "{{ [XWIKI_REST_XWIKI_PAGES, 'XWikiServerXwiki'] | url_join }}"
XWIKI_DESCRIPTOR_SERVER: "{{ lookup('domain', application_id) }}"
XWIKI_DESCRIPTOR_SECURE: "{{ '1' if (lookup('tls', XWIKI_DESCRIPTOR_SERVER, 'enabled') | bool) else '0' }}"
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: "{{ lookup('config', application_id, 'services.ldap.trylocal') }}"
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 }},ou={{ application_id }},{{ LDAP.DN.OU.ROLES }}"
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: "{{ lookup('rbac_group_path', application_id=application_id, role='administrator') }}"
XWIKI_OBJSTORE_ENABLED: "{{ lookup('objstore', application_id, 'enabled') }}"
XWIKI_OBJSTORE_BUCKET: "{{ lookup('objstore', application_id, 'bucket') }}"
XWIKI_OBJSTORE_ACCESS_KEY: "{{ lookup('objstore', application_id, 'access_key') }}"
XWIKI_OBJSTORE_SECRET_KEY: "{{ lookup('objstore', application_id, 'secret_key') }}"
XWIKI_OBJSTORE_URL: "{{ lookup('objstore', application_id, 'url') }}"
XWIKI_OBJSTORE_REGION: "{{ lookup('objstore', application_id, 'region') }}"
XWIKI_BLOBSTORE_EXTENSION_VERSION: "{{ XWIKI_VERSION | regex_replace('-.*$', '') }}"
XWIKI_BLOBSTORE_EXTENSIONS: "{{ [{'id': 'org.xwiki.commons:xwiki-commons-store-blob-s3', 'version': XWIKI_BLOBSTORE_EXTENSION_VERSION, 'namespace': ''}] if (XWIKI_OBJSTORE_ENABLED
| bool) else [] }}"
XWIKI_PLUGINS: "{{ (lookup('config', application_id, 'addons') | xwiki_enabled_install_items) + XWIKI_BLOBSTORE_EXTENSIONS }}"
XWIKI_DESIGN_ENABLED: "{{ lookup('config', application_id, 'services.design.enabled') | bool }}"
XWIKI_DESIGN_DIR: "{{ [lookup('container', application_id, 'directories.config'), 'design'] | path_join }}"
XWIKI_DESIGN_THEME_PAGE: "Infinito"
XWIKI_DESIGN_THEME_REFERENCE: "FlamingoThemes.{{ XWIKI_DESIGN_THEME_PAGE }}"
XWIKI_DESIGN_STOCK_THEME_PAGE: "Iceberg"
XWIKI_DESIGN_THEME_OBJECT: "objects/FlamingoThemesCode.ThemeClass/0"
XWIKI_DESIGN_LOGO_FILE: "logo.svg"
XWIKI_REST_THEME_PAGE: "{{ [XWIKI_REST_XWIKI, 'spaces/FlamingoThemes/pages', XWIKI_DESIGN_THEME_PAGE] | url_join }}"
XWIKI_REST_PREFERENCES: "{{ [XWIKI_REST_XWIKI_PAGES, 'XWikiPreferences/objects/XWiki.XWikiPreferences/0/properties'] | url_join }}"
XWIKI_DESIGN_TITLE_SUFFIX: " - {{ lookup('design', application_id).label }}"
XWIKI_DESIGN_TITLE: "$tdoc.getRenderedTitle('plain/1.0'){{ XWIKI_DESIGN_TITLE_SUFFIX }}"
XWIKI_DESIGN_PALETTE: "{{ lookup('design_palette', lookup('config', 'web-svc-design', 'services.design.colors.base')).light }}"
XWIKI_DESIGN_THEME_TOKENS:
text-color: text
body-bg: surface-1
xwiki-page-content-bg: surface-2
link-color: link
headings-color: text
brand-primary: primary
brand-success: success
brand-info: info
brand-warning: warning
brand-danger: danger
component-active-color: text
component-active-bg: surface-active
btn-default-color: text
btn-default-bg: surface-2
btn-default-border: border-strong
btn-primary-color: on-primary
btn-primary-bg: primary
btn-success-color: on-success
btn-success-bg: success
btn-info-color: on-info
btn-info-bg: info
btn-warning-color: on-warning
btn-warning-bg: warning
btn-danger-color: on-danger
btn-danger-bg: danger
navbar-default-bg: frame
navbar-default-color: on-frame
navbar-default-link-color: on-frame
navbar-default-link-hover-color: on-frame
navbar-default-link-hover-bg: frame-hover
navbar-default-link-active-color: on-frame
navbar-default-link-active-bg: frame-active
dropdown-bg: surface-2
dropdown-border: border
dropdown-divider-bg: border
dropdown-link-color: text
dropdown-link-hover-color: text
dropdown-link-hover-bg: surface-hover
input-bg: surface-2
input-border: border-strong
input-color: text
input-border-focus: link
input-color-placeholder: text-muted
legend-color: text
legend-border-color: border
panel-bg: surface-2
panel-header-text: text
breadcrumb-bg: surface-3
breadcrumb-color: text-muted
breadcrumb-link-color: link
table-bg: surface-2
table-bg-hover: surface-hover
table-border-color: border
XWIKI_DESIGN_LESS_TOKENS:
gray-light: text-muted
text-muted: text-muted
state-success-bg: success-subtle
state-info-bg: info-subtle
state-warning-bg: warning-subtle
state-danger-bg: danger-subtle
xwiki-border-color: border
xwiki-drawer-menu-item-hover-bg: surface-hover
xwiki-drawer-menu-item-hover-color: text
well-bg: surface-1
XWIKI_DESIGN_THEME_COLORS: >-
{{ dict(XWIKI_DESIGN_THEME_TOKENS.keys()
| zip(XWIKI_DESIGN_THEME_TOKENS.values() | map('regex_replace', '^', '--design-') | map('extract', XWIKI_DESIGN_PALETTE))) }}
XWIKI_DESIGN_LESS_COLORS: >-
{{ dict(XWIKI_DESIGN_LESS_TOKENS.keys()
| zip(XWIKI_DESIGN_LESS_TOKENS.values() | map('regex_replace', '^', '--design-') | map('extract', XWIKI_DESIGN_PALETTE))) }}
XWIKI_DESIGN_LESS_CODE: >-
{% for name, value in XWIKI_DESIGN_LESS_COLORS | dictsort %}@{{ name }}: {{ value }};
{% endfor %}@list-group-active-border: @list-group-border; @headings-font-weight: 500;