mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Implements requirement 028: web-app-semaphore deploying semaphoreui/semaphore v2.18.13 behind sys-svc-proxy with central PostgreSQL, native Keycloak OIDC SSO, and LDAP login, plus guest/biber/administrator Playwright personas. Auth/admin model verified against the upstream v2.18.13 source (config.go, api/login.go, api/router.go, web/src/views/Auth.vue, config.schema.yaml, cli/cmd/user_add.go): the OIDC callback matches by email and rejects local users, the login form is LDAP-only when ldap_enable=true, and OIDC users are never admin from a claim. The role therefore seeds a distinct break-glass local admin and creates the Keycloak administrator as an external admin at deploy time (semaphore user add --admin --external). Correct v2.x env names (SEMAPHORE_LDAP_ENABLE/_SERVER/_BIND_DN/_BIND_PASSWORD/_SEARCH_DN, OIDC provider JSON) confirmed against the source. Validation: make autoformat clean; make test green (lint, test-lint, test-unit, test-integration 190, test-external). Live full-matrix deploy + Playwright still pending (host container runtime fault, environment-only). Refs: docs/requirements/028-web-app-semaphore.md Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
437 B
JavaScript
16 lines
437 B
JavaScript
const { test } = require("@playwright/test");
|
|
|
|
const shared = require("./_shared");
|
|
|
|
test.use({
|
|
ignoreHTTPSErrors: true,
|
|
});
|
|
|
|
test.beforeEach(shared.beforeEach);
|
|
|
|
require("./test-guest").register(shared);
|
|
require("./test-login-native-administrator").register(shared);
|
|
require("./test-login-oidc-administrator").register(shared);
|
|
require("./test-login-oidc-biber").register(shared);
|
|
require("./test-login-ldap-biber").register(shared);
|