Skip to content

ci: Reproduzierbare .NET-, Angular-, PostgreSQL- und Keycloak-Prüfungen - #5

Merged
Cenn0 merged 8 commits into
mainfrom
ci/permora-verification
Oct 16, 2026
Merged

Cenn0 merged 8 commits into
mainfrom
ci/permora-verification

Conversation

@Cenn0

@Cenn0 Cenn0 commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Umfang

  • GitHub Actions für PRs gegen main, Pushes auf main und manuelle Auslösung.
  • .NET 10 Release-Build, xUnit inklusive echter PostgreSQL-18-Testdatenbank, Prüfung auf übersprungene Tests, zusätzlicher ASP.NET-HTTP-Test mit isolierten Identitäten.
  • Angular 22 Produktionsbuild, 32 isolierte TS-Tests, 8 Playwright Desktop-/Mobile-Fälle, npm audit --omit=dev --audit-level=high.
  • Keycloak 26.8.1 als isolierter Docker-Testserver, Client-/Composite-/User-/Group-Mappings, echte Audience/Scope-Tokenprüfungen und FGAP-v2-Rollenadministration mit zwei minimal berechtigten Servicekonten (eigen erlaubt, fremd verboten).
  • Echte 8 Lockfiles aus einem isolierten Actions-Runner eingecheckt. Gesperrte dotnet restore --locked-mode und npm ci; separater Reproduzierbarkeits-Gate.
  • Manuelle Prüfanleitungen, Belege, Grenzen und Roadmap dokumentiert.

CI- und Supply-Chain-Schutz

Nur Standard-GitHub-Runner, permissions: contents: read, pull_request nicht pull_request_target, checkout persist-credentials: false; keine produktiven Secrets, keine Deployments, keine Veröffentlichungen. Kurzzeitig für echte Lockfile-Generierung verwendeter vertrauenswürdiger, branchgebundener Workflow mit contents: write wurde vollständig aus dem finalen Tree entfernt. Nachfolgende Branch-Commits sind noreply-Identitäten; der ältere geschlossene CI-PR wurde nicht als Commit-Historie übernommen.

Tatsächliche Nachweise und Abgrenzungen

Frühere CI-Läufe: bis auf fehlende Lockfiles waren sämtliche Build-/Testjobs grün, darunter 102/102 xUnit inkl. PostgreSQL, Angular-Produktion, Playwright, Keycloak-FGAP-Client-Isolation. Der neue PR muss mit den eingecheckten Locks erneut vollständig durchlaufen. Das fehlende ursprünglich rote Lockfile-Gate wurde auf Dateiebene behoben.

Noch offen: vollständige delegierte FGAP-Zielbenutzer-/Gruppenzuweisungsmatrix, produktiver BFF-OIDC/MFA-Test, LDAP/AD-Änderungsereignisse, SBOM/transitive Lizenzprüfung, Hochverfügbarkeit, Disaster Recovery, Last- und Penetrationstests. Ein grüner CI-Lauf ist keine Produktionsfreigabe.

Tracking: #3. Details: docs/ci.md, docs/evidence/ci-2026-10-16.md, docs/roadmap.md.

Cenn0 and others added 8 commits October 16, 2026 20:02
…k bootstrap

Apply existing .NET/PostgreSQL/Angular/Playwright/Keycloak test coverage as
one clean change without importing abandoned branch commits. A temporary
trusted-branch-only workflow commits *actual resolved* dependency locks,
then is removed before merge. No deployments or production credentials.
Require actual committed NuGet packages.lock.json and npm package-lock.json;
use dotnet restore --locked-mode and npm ci in all standard CI builds.
Remove one-off contents:write dependency bootstrap workflow, reduce artifact
scope, and document verification boundaries. Do not deploy or publish.
Build ASP.NET API and Angular inside the production multi-stage Dockerfile
using only locked npm/NuGet dependencies; assert backend/frontend assets and
non-root runtime. Make the final summary fail when any required test job
fails, skips or is cancelled. No deploy, registry push or production secrets.
…ries

With two delegated service accounts test that client-level permissions alone
do not authorize user/group mapping; permit only explicit target user/group,
deny foreign roles, unrelated recipients and account mutations; verify
delegated revocation and remote state. Isolated test realm only.
Keycloak correctly rejects duplicate email addresses within a test realm;
generate a distinct invalid-domain address for each ephemeral test user.
Use official GitHub release commits instead of mutable action tags and
cache npm by its committed lockfile. Bound retries for observed ECONNRESET.
Document real positive and negative user/group FGAP v2 role mapping tests
and their remaining security boundaries.
Record verified GitHub Actions run 38946163282 with 102 xUnit/PostgreSQL,
32 TypeScript, 8 Playwright, Docker, dependency locks and delegated
Keycloak target user/group positive and negative scenarios.
Retain clear external LDAP, production OIDC/MFA, SBOM and recovery gaps.
@Cenn0
Cenn0 merged commit 79ace91 into main Oct 16, 2026
7 checks passed
@Cenn0
Cenn0 deleted the ci/permora-verification branch October 16, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant