Dotfiles/setup/modules/FreeipaAnsible/image
Amir Alexander Abdelbaki be757fda5a feat(ansipa): nginx gateway — reverse proxy + portal start-page
Add an nginx service that fronts all three web UIs on a single hostname/port
and serves a portal landing page, designed to sit behind the operator's own
TLS-terminating reverse proxy.

- Each backend is proxied at the path it already serves natively — FreeIPA
  /ipa, CheckMK /cmk, Keycloak under a configured /auth relative path — so no
  fragile path rewriting is needed and one upstream proxy line exposes
  everything. FreeIPA's strict Host/Referer anti-CSRF checks are satisfied by
  pinning Host to the IPA hostname and rewriting Referer.
- Honors incoming X-Forwarded-Proto/For so it works behind a second reverse
  proxy (double-proxy verified: portal, FreeIPA, CheckMK and Keycloak all
  reachable through two layers, and a CheckMK login POST completes to an
  authenticated session through the gateway).
- Keycloak: KC_HTTP_RELATIVE_PATH=/auth + KC_PROXY_HEADERS=xforwarded so it
  builds correct URLs behind the gateway; deliberately not forwarding
  X-Forwarded-Port (this gateway is :80 internally; the public port is the
  upstream proxy's) to avoid https://host:80 redirects.
- .env.example documents ANSIPA_HTTP_PORT and gives the exact upstream
  reverse-proxy snippet (nginx location block + Caddy one-liner).

Portal is a static cyberqueer-themed page linking to /ipa/ui/, /cmk/, /auth/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUhrcFU8J1Hnf7vNqNxZNi
2026-07-02 12:36:28 +02:00
..
nginx feat(ansipa): nginx gateway — reverse proxy + portal start-page 2026-07-02 12:36:28 +02:00
.env.example feat(ansipa): nginx gateway — reverse proxy + portal start-page 2026-07-02 12:36:28 +02:00
.gitignore feat(ansipa): integrate CheckMK CE monitoring 2026-07-01 18:32:28 +02:00
Dockerfile feat(ansipa): integrate CheckMK CE monitoring 2026-07-01 18:32:28 +02:00
ansipa-check-scans.sh feat(freeipa): scan result reporting, alert notifications, and SMB share 2026-05-20 12:32:21 +02:00
ansipa-checkmk-setup.sh fix(ansipa): hostname-binary-free FQDN + push-mode orchestration (NAT path) 2026-07-02 12:25:03 +02:00
ansipa-checkmk.service feat(ansipa): integrate CheckMK CE monitoring 2026-07-01 18:32:28 +02:00
ansipa-smb-setup.sh refactor(ansipa): split enforce-policies monolith into modular policies.d/ system 2026-07-01 19:27:35 +02:00
ansipa-smb.service fix(ansipa): full end-to-end test + multiple bug fixes 2026-07-01 10:30:06 +02:00
docker-compose.yml feat(ansipa): nginx gateway — reverse proxy + portal start-page 2026-07-02 12:36:28 +02:00
docker-env.service fix(ansipa): full end-to-end test + multiple bug fixes 2026-07-01 10:30:06 +02:00
ipa-first-boot.service fix(ansipa): full end-to-end test + multiple bug fixes 2026-07-01 10:30:06 +02:00
ipa-first-boot.sh fix(ansipa): full end-to-end test + multiple bug fixes 2026-07-01 10:30:06 +02:00
keycloak-configure.sh setup: add FreeIPA image builder and Keycloak integration 2026-05-18 11:22:48 +02:00
run.sh fix(ansipa): docker stack volume/network naming, healthchecks, client-routable CMK URL 2026-07-02 11:28:00 +02:00