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 — SMTP backs only pgAdmin password-reset mail, and no persona scenario triggers a mail send
EMAIL_SERVICE_ENABLED={{ lookup('config', application_id, 'services.email.enabled') | string | lower }}

LOGOUT_SERVICE_ENABLED={{ lookup('config', application_id, 'services.logout.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 — pgAdmin's own login id is the account e-mail PGADMIN_DEFAULT_EMAIL (templates/env.j2:5, vars/main.yml:5), not the Keycloak `administrator` username, so the persona has no in-app credential behind the oauth2-proxy (see README "Persona contract opt-outs").
PERSONA_ADMINISTRATOR_BLOCKED=true

# nocheck: persona-block-rationale — meta/services.yml admits only the web-app-pgadmin administrator RBAC group to the oauth2-proxy (sso.oauth2.allowed_groups) and biber carries no roles, so biber is denied at the proxy before pgAdmin is reached (see README "Persona contract opt-outs").
PERSONA_BIBER_BLOCKED=true

# nocheck: playwright-service-gate — pgAdmin keeps its own config in embedded SQLite and only reaches the cluster from the server dialog no persona opens
POSTGRES_SERVICE_ENABLED={{ lookup('config', application_id, 'services.postgres.enabled') | string | lower }}

SSO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.sso.enabled') | string | lower }}
