Files
computer-playbook/roles/web-app-pihole/templates/playwright.env.j2
Prageeth Panicker dfcfd0ef58 fix(pihole): variant-1 test failures and Pi-hole v6 compatibility
Three fixes:

1. guest.spec.js: skip instead of fail when OIDC_ISSUER_URL is unset
   (variant-1 has SSO disabled so no Keycloak redirect is expected;
   the old expect().toBeTruthy() caused a hard failure instead of skip)

2. playwright.env.j2: only emit OIDC_ISSUER_URL when SSO is proxy-gated
   (was unconditionally set, causing native.spec.js to wrongly skip in
   variant-1 and oauth2.spec.js/guest.spec.js to fail on missing redirect)

3. compose.yml.j2: Pi-hole v6 compatibility fixes
   - Replace WEBPASSWORD with FTLCONF_webserver_api_password (v6 dropped
     legacy env vars; WEBPASSWORD is silently ignored in v6)
   - Add FTLCONF_webserver_domain={{ domain }} to whitelist the nginx
     proxy Host header; Pi-hole v6 FTL returns 403 for unrecognised Host
     headers (DNS rebinding protection) — this was causing the baseline
     playwright.spec.js to fail with HTTP 403 in variant-1
2026-06-23 13:19:24 +00:00

11 lines
621 B
Bash

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 }}
{% if lookup('sso', application_id, 'is_proxy_gated') %}
OIDC_ISSUER_URL={{ OIDC.CLIENT.ISSUER_URL | dotenv_quote }}
{% endif %}
PIHOLE_BASE_URL={{ lookup("tls", application_id, "url.base") }}