Commit Graph
8 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Fable 5 194671d90f feat(readme): uniform description schema and clearer role titles
Rewrite all 254 role descriptions to a uniform noun-phrase schema
(function-first, no leading verb, no trailing period, <=120 chars) and
enforce it via the extended description lint. Rename 12 role README H1
titles for clarity (e.g. Backup Container to Local -> Backup Docker
Volumes, CSS Service -> Corporate Design, NGINX Legal -> Imprint) and
regenerate their Cosmos and Quick Setup sections. Overview table
regenerated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 01:11:48 +02:00
kevinveenbirkenbachandClaude Opus 4.8 6df91fb0c2 fix(web-app-pihole): conform compose template to lookups + disable unused email
Route image/volumes/networks through the container_image, container_volumes, compose_volumes and *_networks lookups (was a raw image ref, an inline service volumes block, and the deprecated compose_volumes pipe form); add meta/volumes.yml as the volume source and drop the four now-unused PIHOLE_IMAGE/VERSION/VOLUME vars. Pi-hole sends no mail, so the email service is pinned enabled=false/shared=false (dynamic-flag nocheck) and dropped from the variant matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 03:46:12 +02:00
Prageeth Panicker 81365a314f fix(pihole): address review feedback (Kevin)
- playwright.spec.js: remove duplicated SSO/persona scenarios now
  covered by test-guest.js/test-oauth2.js/test-native.js. Reduce to
  baseline checks (front page + TLS/HSTS, HTML content-type), matching
  the pgadmin pattern.
- meta/main.yml: rewrite description to describe Pi-hole the software
  (network-wide DNS sinkhole, DNS/DHCP management, web dashboard)
  rather than the role/integration details.
2026-06-24 03:46:11 +02:00
Prageeth Panicker 2746654d36 fix(web-app-pihole): migrate to v9.x SSO pattern and fix compose_volumes 2026-06-24 03:46:10 +02:00
Prageeth Panicker 23d8374bcf fix(web-app-pihole): fix dynamic flags, port, personas, block size, docker exec, README 2026-06-24 03:46:10 +02:00
Prageeth Panicker 0c91412727 fix(web-app-pihole): add variants, javascript injection, fix oauth2 DNS, update playwright tests 2026-06-24 03:46:09 +02:00
Prageeth Panicker 3baaa1a948 fix(web-app-pihole): fix CI lint and integration test failures 2026-06-24 03:46:09 +02:00
Prageeth Panicker 561db31693 feat(web-app-pihole): add Pi-hole role with OAuth2/Keycloak RBAC
- Deploy Pi-hole as web app with NGINX proxy and OAuth2 protection
- Only web-app-pihole-administrators group can access the dashboard
- DNS port 53 (TCP/UDP) exposed for network-wide ad blocking
- Upstream DNS configurable per inventory (default: Cloudflare 1.1.1.1)
- Redis session store for OAuth2 proxy
- Timezone from HOST_TIMEZONE platform variable
- Port bindings use DOCKER_BIND_HOST platform variable
- Register subnet 192.168.102.240/28 in networks
- Register ports 8070 (http) and 16493 (oauth2) in ports
- Playwright tests: oauth2 protection, admin login, biber denied (3/3 passing)

Known limitations:
- Pi-hole v6 gravity blocklist requires manual setup via admin UI
- Internal *.infinito.example DNS forwarding to CoreDNS planned as follow-up
2026-06-24 03:46:08 +02:00