ADMIN_PASSWORD={{ lookup('users', 'administrator').password | dotenv_quote }} ADMIN_USERNAME={{ lookup('users', 'administrator').username | dotenv_quote }} APP_BASE_URL={{ lookup('tls', application_id, 'url.base') | dotenv_quote }} CANONICAL_DOMAIN={{ lookup('domain', application_id) | dotenv_quote }} # nocheck: playwright-service-gate — the CSP helper gates css through a computed loop variable (personas/utils/csp.js:87-93), never a literal argument, so test_spec_env_gates.py's literal-only regex cannot see the gate CSS_SERVICE_ENABLED={{ lookup('config', application_id, 'services.css.enabled') | string | lower }} # nocheck: playwright-service-gate — meta/services.yml pins email.enabled false; phpMyAdmin sends no mail, the flag only keeps the registry in sync EMAIL_SERVICE_ENABLED={{ lookup('config', application_id, 'services.email.enabled') | string | lower }} LOGOUT_SERVICE_ENABLED={{ lookup('config', application_id, 'services.logout.enabled') | string | lower }} # nocheck: playwright-service-gate — the login form is rendered by PHP alone; the cluster is only touched after a native DB login no persona performs MARIADB_SERVICE_ENABLED={{ lookup('config', application_id, 'services.mariadb.enabled') | string | lower }} MATOMO_BASE_URL={{ lookup('tls', 'web-app-matomo', 'url.base') | dotenv_quote }} MATOMO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.matomo.enabled') | string | lower }} # nocheck: persona-block-rationale — phpMyAdmin signs in as the MariaDB `root` account wired through PMA_USER / PMA_PASSWORD (templates/env.j2:5-6, vars/main.yml:11-12); the Keycloak `administrator` username is not a MariaDB user, so in the sso: false variants the persona has no native login to drive (see README "Persona contract opt-outs"). PERSONA_ADMINISTRATOR_BLOCKED={{ 'false' if (lookup('config', application_id, 'services.sso.enabled') | bool) else 'true' }} # nocheck: persona-block-rationale — meta/services.yml admits only the web-app-phpmyadmin administrator RBAC group to the oauth2-proxy (sso.oauth2.allowed_groups) and biber carries no roles, so biber never reaches phpMyAdmin in any variant (see README "Persona contract opt-outs"). PERSONA_BIBER_BLOCKED=true SSO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.sso.enabled') | string | lower }}