ADMIN_PASSWORD={{ lookup('users', 'administrator').password | dotenv_quote }} ADMIN_USERNAME={{ lookup('users', 'administrator').username | dotenv_quote }} AKAUNTING_ADMIN_EMAIL={{ AKAUNTING_ADMIN_EMAIL | dotenv_quote }} AKAUNTING_ADMIN_PASSWORD={{ AKAUNTING_ADMIN_PASSWORD | dotenv_quote }} AKAUNTING_BASE_URL={{ lookup('tls', application_id, 'url.base') | dotenv_quote }} APP_BASE_URL={{ lookup('tls', application_id, 'url.base') }} CANONICAL_DOMAIN={{ lookup('domain', application_id) | dotenv_quote }} # nocheck: playwright-service-gate — covered by sys-svc-mail integration tests, not the persona surface EMAIL_SERVICE_ENABLED={{ lookup('config', application_id, 'services.email.enabled') | string | lower }} # nocheck: playwright-service-gate — LDAP is disabled for this role; the flag renders for deploy-fixture parity but no persona scenario gates it. LDAP_SERVICE_ENABLED={{ AKAUNTING_LDAP_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 }} NODE_TLS_REJECT_UNAUTHORIZED=0 OIDC_ISSUER_URL={{ OIDC.CLIENT.ISSUER_URL | dotenv_quote }} # nocheck: persona-block-rationale — Akaunting has no OIDC adapter; meta/services.yml pins `sso.flavor: oauth2`, so the proxy only fronts Akaunting's own Laravel login. The single seeded account signs in with `services.akaunting.setup_admin_email` (the administrator's e-mail) and `secrets.credentials.setup_admin_password` (vars/main.yml AKAUNTING_ADMIN_PASSWORD) — neither is the Keycloak username/password the shared admin helper types (see TODO.md). PERSONA_ADMINISTRATOR_BLOCKED=true # nocheck: persona-block-rationale — meta/services.yml `sso.oauth2.allowed_groups` lists only the web-app-akaunting administrator RBAC group, so biber is rejected at the oauth2-proxy; and without OIDC auto-provisioning no Akaunting account exists for biber behind it either (see TODO.md). PERSONA_BIBER_BLOCKED=true SEAWEEDFS_ADMIN_PASSWORD={{ lookup('users', 'administrator').password | dotenv_quote }} SEAWEEDFS_ADMIN_USERNAME={{ lookup('users', 'administrator').username | dotenv_quote }} SEAWEEDFS_APP_BUCKET={{ lookup('objstore', application_id, 'bucket') | dotenv_quote }} SEAWEEDFS_FILER_URL={{ lookup('canonical_url', 'web-app-seaweedfs', 'filer', consumer=application_id) | dotenv_quote }} SEAWEEDFS_SERVICE_ENABLED={{ lookup('config', application_id, 'services.seaweedfs.enabled') | string | lower }} SSO_SERVICE_ENABLED={{ lookup('config', application_id, 'services.sso.enabled') | string | lower }}