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') }} BIBER_PASSWORD={{ lookup('users', 'biber').password | dotenv_quote }} BIBER_USERNAME={{ lookup('users', 'biber').username | dotenv_quote }} CANONICAL_DOMAIN={{ lookup('domain', application_id) | dotenv_quote }} # nocheck: playwright-service-gate CSS_SERVICE_ENABLED={{ lookup('config', application_id, 'services.css.enabled') | string | lower }} # nocheck: playwright-service-gate LITELLM_SERVICE_ENABLED={{ lookup('config', application_id, 'services.litellm.enabled') | string | lower }} LOGOUT_SERVICE_ENABLED={{ lookup('config', application_id, 'services.logout.enabled') | string | lower }} # nocheck: playwright-service-gate MATOMO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.matomo.enabled') | string | lower }} # nocheck: playwright-service-gate MCP_SERVICE_ENABLED={{ lookup('config', application_id, 'mcp.enabled') | string | lower }} NODE_TLS_REJECT_UNAUTHORIZED=0 OIDC_ISSUER_URL={{ OIDC.CLIENT.ISSUER_URL | dotenv_quote }} OPENCLAW_BASE_URL={{ lookup('tls', application_id, 'url.base') | dotenv_quote }} OPENCLAW_GATEWAY_TOKEN={{ lookup('config', application_id, 'secrets.credentials.gateway_token') | dotenv_quote }} # nocheck: persona-block-rationale: the OpenClaw Control UI is a WebSocket SPA whose session lives behind gateway device pairing, so it exposes no DOM logout control the shared inAppLogout helper can reach. files/playwright/test-oidc-login.js covers the SSO round trip instead (see TODO.md). PERSONA_ADMINISTRATOR_BLOCKED=true # nocheck: persona-block-rationale: meta/services.yml admits only the web-app-openclaw administrator and mcp RBAC groups to the oauth2 proxy (sso.oauth2.allowed_groups) and biber carries neither, so biber is refused at the proxy before the Control UI is reached. PERSONA_BIBER_BLOCKED=true SSO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.sso.enabled') | string | lower }}