---
application_id: "web-app-pretix"
container_hostname: "{{ lookup('container_hostname', application_id) }}"
PRETIX_URL: "{{ lookup('tls', application_id, 'url.base') }}"
PRETIX_HOSTNAME: "{{ container_hostname }}"
PRETIX_NATIVE_ADMIN_EMAIL: "{{ '' if PRETIX_OIDC_ENABLED | bool else lookup('users', 'platform_administrator').email }}"
PRETIX_DESIGN_ENABLED: "{{ lookup('config', application_id, 'services.design.enabled') | bool }}"
PRETIX_DESIGN_PALETTE: "{{ lookup('design_palette', lookup('config', 'web-svc-design', 'services.design.colors.base')).light }}"
PRETIX_DESIGN_COLORS:
primary_color: "{{ PRETIX_DESIGN_PALETTE['--design-primary'] }}"
theme_color_success: "{{ PRETIX_DESIGN_PALETTE['--design-success'] }}"
theme_color_danger: "{{ PRETIX_DESIGN_PALETTE['--design-danger'] }}"
theme_color_background: "{{ PRETIX_DESIGN_PALETTE['--design-surface-1'] }}"
PRETIX_OIDC_ENABLED: "{{ lookup('config', application_id, 'services.sso.enabled') }}"
PRETIX_OIDC_LABEL: "{{ OIDC.BUTTON_TEXT }}"
PRETIX_OIDC_CLIENT_ID: "{{ OIDC.CLIENT.ID }}"
PRETIX_OIDC_CLIENT_SECRET: "{{ OIDC.CLIENT.SECRET }}"
PRETIX_OIDC_ISSUER: "{{ OIDC.CLIENT.ISSUER_URL }}"
PRETIX_OIDC_AUTH_URL: "{{ OIDC.CLIENT.AUTHORIZE_URL }}"
PRETIX_OIDC_TOKEN_URL: "{{ OIDC.CLIENT.TOKEN_URL }}"
PRETIX_OIDC_USERINFO_URL: "{{ OIDC.CLIENT.USER_INFO_URL }}"
PRETIX_OIDC_LOGOUT_URL: "{{ OIDC.CLIENT.LOGOUT_URL }}"
PRETIX_OIDC_JWKS_URL: "{{ OIDC.CLIENT.CERTS }}"
PRETIX_OIDC_SCOPES: "openid,email,profile"
PRETIX_OIDC_UNIQUE_ATTRIBUTE: "{{ OIDC.ATTRIBUTES.USERNAME }}"
PRETIX_OIDC_STAFF_SCOPE: "{{ RBAC.GROUP.CLAIM }}"
PRETIX_OIDC_STAFF_VALUE: "/{{ lookup('rbac_group_path', application_id=application_id, role='administrator') }}"
PRETIX_OIDC_PLUGIN_VERSION: "{{ lookup('config', application_id, 'addons.pretix-oidc.version') }}"
PRETIX_OIDC_ONION_ISSUER: "{{ lookup('tls', 'web-app-keycloak', 'domain').endswith('.onion') }}"
PRETIX_OIDC_SOCKS_PROXY: "{{ lookup('tor_socks_proxy') if PRETIX_OIDC_ONION_ISSUER | bool else '' }}"
PRETIX_OIDC_PROXY_EXCLUDED_HOSTS: "{{ lookup('proxy_excluded_hosts', application_id) + [PRETIX_MCP_UPSTREAM_HOST] }}"
PRETIX_ALLOW_PRIVATE_NETWORKS: "{{ (ENVIRONMENT | lower) == 'development' }}"
PRETIX_REDIS_ENABLED: "{{ lookup('config', application_id, 'services.redis.enabled') }}"
PRETIX_REDIS_CACHE_DB: 1
PRETIX_REDIS_BROKER_DB: 0
PRETIX_REDIS_RESULT_DB: 2
PRETIX_SOURCE_REPOSITORY: "{{ lookup('config', application_id, 'services.pretix.source_repository') }}"
PRETIX_SOURCE_VERSION: "{{ lookup('config', application_id, 'services.pretix.source_version') }}"
PRETIX_SOURCE_DIR: "{{ [lookup('container', application_id, 'directories.services'), 'pretix'] | path_join }}"
PRETIX_SOURCE_DOCKERFILE_NAME: "Dockerfile.infinito"
PRETIX_SOURCE_DOCKERFILE: "{{ [PRETIX_SOURCE_DIR, PRETIX_SOURCE_DOCKERFILE_NAME] | path_join }}"
PRETIX_BASE_IMAGE: "{{ lookup('config', application_id, 'services.pretix.image') }}"
PRETIX_BASE_VERSION: "{{ lookup('config', application_id, 'services.pretix.version') }}"
PRETIX_CONTAINER: "{{ lookup('config', application_id, 'services.pretix.name') }}"
PRETIX_MCP_ENABLED: "{{ lookup('config', application_id, 'services.pretixmcp.enabled') | bool }}"
PRETIX_MCP_SERVICE_KEY: "pretixmcp"
PRETIX_MCP_CONTAINER: "{{ lookup('config', application_id, 'services.pretixmcp.name') }}"
PRETIX_MCP_PORT: "{{ lookup('config', application_id, 'services.pretixmcp.ports.internal.http') }}"
PRETIX_MCP_BEARER: "{{ lookup('config', application_id, 'secrets.credentials.mcp_bearer') }}"
PRETIX_MCP_INSTANCE_DIR: "{{ [lookup('container', application_id, 'directories.instance'), 'mcp'] | path_join }}"
PRETIX_MCP_UPSTREAM_HOST: "{{ lookup('config', application_id, 'services.pretix.name') }}"
PRETIX_MCP_UPSTREAM_PORT: "{{ lookup('config', application_id, 'services.pretix.ports.internal.http') }}"
PRETIX_MCP_UPSTREAM_URL: "http://{{ PRETIX_MCP_UPSTREAM_HOST }}:{{ PRETIX_MCP_UPSTREAM_PORT }}"
PRETIX_MCP_CONTRACT:
provider: "{{ application_id }}"
upstream_url: "{{ PRETIX_MCP_UPSTREAM_URL }}"
auth_subject: "{{ lookup('config', application_id, 'mcp.auth_subject') }}"
mutating_tools_enabled: "{{ lookup('config', application_id, 'mcp.tools.mutating_tools_enabled') | bool }}"
tools: "{{ lookup('file', 'mcp/tools.json') | from_json }}"
limits: "{{ lookup('config', application_id, 'mcp.limits') }}"
schema_sha256: "{{ lookup('config', application_id, 'mcp.tools.schema_sha256') }}"
PRETIX_MCP_UPSTREAM_KEY: "{{ lookup('config', application_id, 'secrets.credentials.mcp_upstream_token') }}"
PRETIX_MCP_UPSTREAM_TEAM: "mcp-readonly"
PRETIX_MCP_UPSTREAM_AUTH_HEADER: "Authorization"
PRETIX_MCP_UPSTREAM_AUTH_FORMAT: "Token {key}"